在对 MySQL 的日常管理和实际操作中,为了避免用户恶意冒名使用 root 账号控制数据库,通常需要创建一系列具备适当权限的账号,应该尽可能地不用或少用 root 账号登录系统,以此来确保数据的安全访问。

创建用户

可以使用 CREATE USER 语句来创建一个或多个 MySQL 账户,并设置相应的口令。

语法格式:

CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>

语法说明如下:

1 <用户名>
指定创建用户账号,格式为 ‘user_name’@‘host_name’。这里user_name是用户名,host_name为主机名,即用户连接 MySQL 时所在主机的名字。若在创建的过程中,只给出了账户的用户名,而没指定主机名,则主机名默认为“%”,表示一组主机。

2 PASSWORD
可选项,用于指定散列口令,即若使用明文设置口令,则需忽略PASSWORD关键字;若不想以明文设置口令,且知道 PASSWORD() 函数返回给密码的散列值,则可以在口令设置语句中指定此散列值,但需要加上关键字PASSWORD。

3 IDENTIFIED BY子句
用于指定用户账号对应的口令,若该用户账号无口令,则可省略此子句。

4 <口令>
指定用户账号的口令,在IDENTIFIED BY关键字或PASSWOED关键字之后。给定的口令值可以是只由字母和数字组成的明文,也可以是通过 PASSWORD() 函数得到的散列值。

使用 CREATE USER 语句应该注意以下几点:

 如果使用 CREATE USER 语句时没有为用户指定口令,那么 MySQL 允许该用户可以不使用口令登录系统,然而从安全的角度而言,不推荐这种做法。使用 CREATE USER 语句必须拥有 MySQL 中 MySQL 数据库的 INSERT 权限或全局 CREATE USER 权限。使用 CREATE USER 语句创建一个用户账号后,会在系统自身的 MySQL 数据库的 user 表中添加一条新记录。若创建的账户已经存在,则语句执行时会出现错误。新创建的用户拥有的权限很少。他们可以登录 MySQL,只允许进行不需要权限的操作,如使用 SHOW 语句查询所有存储引擎和字符集的列表等。

如果两个用户具有相同的用户名和不同的主机名,MySQL 会将他们视为不同的用户,并允许为这两个用户分配不同的权限集合。

使用 CREATE USER 创建一个用户,用户名是 james,密码是 tiger,主机是 localhost。输入的 SQL 语句和执行过程如下所示。

mysql> CREATE USER 'james'@'localhost'-> IDENTIFIED BY 'tiger';
Query OK, 0 rows affected (0.12 sec)

在 Windows 命令行工具中,使用新创建的用户 james 和密码 tiger 登录数据库服务器,如下所示。

C:\Users\USER>mysql -h localhost -u james -p
Enter password: *****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.20-log MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL 创建用户相关推荐

  1. centos 7 mysql 创建用户_【CentOS 7MySQL常用操作4】,MySQL创建用户以及授权#180116

    hellopasswd MySQL创建用户以及授权 grant all on . to 'user1' identified by 'passwd'; grant SELECT,UPDATE,INSE ...

  2. Ubuntu 18.x 环境下mysql创建用户并更改用户权限

    Ubuntu 18.x 环境下mysql创建用户并更改用户权限 1,在安装好mysql后 root用户的密码 就是刚才自己安装mysql 过程中设置的密码. 2,现在创建一个新的用户 xxx 密码 1 ...

  3. 在Linux系统的命令行中为MySQL创建用户的方法

    这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQ ...

  4. mysql创建用户报错ERROR 1290

    使用navicat 给mysql创建用户报错ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv op ...

  5. python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)...

    昨日内容回顾 外键的变种三种关系:多对一:左表的多 对右表一 成立左边的一 对右表多 不成立foreign key(从表的id) refreences 主表的(id)多对多建立第三张表(foreign ...

  6. centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...

    linux/centos给Mysql创建用户.授权.查看.删除.修改密码.撤 linux/centos给Mysql创建用户.授权.查看.删除.修改密码.撤销权限 linux/centos给Mysql创 ...

  7. php 新建 mysql用户_php为什么选mysql作为数据库? Mysql 创建用户方法

    php为什么选mysql作为数据库? Mysql 创建用户方法 更新时间:2007年07月02日 00:00:00   作者: 1.php为什么选mysql作为数据库? 2.Mysql数据库创建用户 ...

  8. 【数据库】Mysql 创建用户与授权

    Mysql 创建用户与授权 1. 创建用户: CREATE USER 'username'@'host' [IDENTIFIED BY 'password']; username:要创建的用户名: h ...

  9. MySQL创建用户并授权

    MySQL创建用户并授权 创建用户 使用 命令创建 #使用 CREATECREATE USER 'testDatabase'@'%' IDENTIFIED BY '111111'; # CREATE ...

  10. MySQL创建用户(3种方式)

    MySQL创建用户(3种方式) 1. 使用CREATE USER语句创建用户 2. 使用 INSERT 语句新建用户 3. 使用GRANT语句新建用户 MySQL 在安装时,会默认创建一个名为 roo ...

最新文章

  1. 16windows_16_combo组合框
  2. junit 测试遇上java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing 错误
  3. python join() 函数的用法
  4. opencv6-调整图像亮度和对比度
  5. 成都SEO企业网站品牌运营推广优化及粉丝运营_成都辰星建站
  6. Mr.J-- 简单生日页面制作
  7. 情商加油站:职业经理人的10大自我修炼工具
  8. Laravel5.5前后台分离
  9. c语言致命错误无法打开网页,电脑中IE浏览器显示异常或无法打开网页崩溃的解决方法...
  10. 电脑使用小常识(2):新手装软件指南,防止流氓软件
  11. 虚拟机器人平台CoppeliaSim(Vrep)的逆运动学教学
  12. Tensorflow基础知识
  13. HJ95 人民币转换
  14. 【ROS-Navigation】—— DWA路径规划算法解析
  15. j3455文件服务器,看烦了千篇一律的J3455?让黑群晖显示真实的CPU信息
  16. 【记录】Nginx开源版安装与部署
  17. PMP-16项目整合管理-制定项目管理计划
  18. java中的for循环里面创建对象和for循环外面创建对象之间的区别
  19. 微信 mac 版 3.* beta 可以查看朋友圈了
  20. 2023跨专业考研计算机,10个考研最难的专业!真的太太太辛苦了!

热门文章

  1. python重复命令_Python简化重复命令教案
  2. 上下定高 中间自适应_上下固定中间自适应布局
  3. android百度地图画圆,android百度地图半径画圆
  4. 日志文件和mysql同步到kafka_logstash_output_kafka:Mysql 同步 Kafka 深入详解
  5. 怎样更换UC浏览器的字体?更换UC浏览器的字体的方法
  6. Redis学习笔记——SpringDataRedis的使用
  7. shiro框架---关于多项目之间验证为什么需要共享session
  8. numpy 矩阵与向量相乘_高能!8段代码演示Numpy数据运算的神操作
  9. php oci8 11,linux下为php开启oci8扩展(ubuntu14亲测可用)
  10. c语言如何关闭线程,如何用C语言实现多线程