mysql如何增加用户

68次阅读
没有评论

共计 2822 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要介绍“mysql 如何增加用户”,在日常操作中,相信很多人在 mysql 如何增加用户问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql 如何增加用户”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!

增加用户的方法:1、使用“CREATE USER 用户 IDENTIFIED BY 密码”语句;2、使用“GRANT priv_type ON database.table TO 用户 IDENTIFIED BY 密码”语句。

本教程操作环境:windows7 系统、mysql8 版本、Dell G3 电脑。

MySQL 在安装时,会默认创建一个名为 root 的用户,该用户拥有超级权限,可以控制整个 MySQL 服务器。

在对 MySQL 的日常管理和操作中,为了避免有人恶意使用 root 用户控制数据库,我们通常创建一些具有适当权限的用户,尽可能地不用或少用 root 用户登录系统,以此来确保数据的安全访问。

MySQL 提供了以下 3 种方法创建用户。

使用 CREATE USER 语句创建用户

在 mysql.user 表中添加用户

使用 GRANT 语句创建用户

下面根据实例详细讲解这 3 种方法。

1. 使用 CREATE USER 语句创建用户

可以使用 CREATE USER 语句来创建 MySQL 用户,并设置相应的密码。其基本语法格式如下:

CREATE USER  用户  [ IDENTIFIED BY [ PASSWORD ]  password  ] [ , 用户  [ IDENTIFIED BY [ PASSWORD ]  password  ]]

参数说明如下:

1) 用户

指定创建用户账号,格式为 user_name @ host_name。这里的 user_name 是用户名,host_name 为主机名,即用户连接 MySQL 时所用主机的名字。如果在创建的过程中,只给出了用户名,而没指定主机名,那么主机名默认为“%”,表示一组主机,即对所有主机开放权限。

3) IDENTIFIED BY 子句

用于指定用户密码。新用户可以没有初始密码,若该用户不设密码,可省略此子句。

2) PASSWORD password

PASSWORD 表示使用哈希值设置密码,该参数可选。如果密码是一个普通的字符串,则不需要使用 PASSWORD 关键字。password 表示用户登录时使用的密码,需要用单引号括起来。

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

CREATE USER 语句可以不指定初始密码。但是从安全的角度来说,不推荐这种做法。

使用 CREATE USER 语句必须拥有 mysql 数据库的 INSERT 权限或全局 CREATE USER 权限。

使用 CREATE USER 语句创建一个用户后,MySQL 会在 mysql 数据库的 user 表中添加一条新记录。

CREATE USER 语句可以同时创建多个用户,多个用户用逗号隔开。

新创建的用户拥有的权限很少,它们只能执行不需要权限的操作。如登录 MySQL、使用 SHOW 语句查询所有存储引擎和字符集的列表等。如果两个用户的用户名相同,但主机名不同,MySQL 会将它们视为两个用户,并允许为这两个用户分配不同的权限集合。

例 1

使用 CREATE USER 创建一个用户,用户名是 test1,密码是 test1,主机名是 localhost。SQL 语句和执行过程如下。

mysql  CREATE USER  test1 @ localhost  IDENTIFIED BY  test1 
Query OK, 1 rows affected (0.06 sec)

结果显示,创建 test1 用户成功。

在实际应用中,我们应避免明文指定密码,可以通过 PASSWORD 关键字使用密码的哈希值设置密码。

例 2

在 MySQL 中,可以使用 password() 函数获取密码的哈希值,查看 test1 哈希值的 SQL 语句和执行过程如下:

mysql  SELECT password( test1 
+-------------------------------------------+
| password(test1) |
+-------------------------------------------+
| *06C0BF5B64ECE2F648B5F048A71903906BA08E5C |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)

“*06C0BF5B64ECE2F648B5F048A71903906BA08E5C”就是 test1 的哈希值。下面创建用户 test1,SQL 语句和执行过程如下:

mysql  CREATE USER  test1 @ localhost IDENTIFIED BY PASSWORD  *06C0BF5B64ECE2F648B5F048A71903906BA08E5C 
Query OK, 0 rows affected, 1 warning (0.00 sec)

执行成功后就可以使用密码“test1”登录了。

2. 使用 GRANT 语句新建用户

虽然 CREATE USER 可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。

使用 GRANT 语句创建用户的基本语法形式如下:

GRANT priv_type ON database.table TO  用户  [IDENTIFIED BY [PASSWORD]  password ]

其中:

priv_type 参数表示新用户的权限;

database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;

用户 参数指定新用户的账号,由用户名和主机名构成;

IDENTIFIED BY 关键字用来设置密码;

password 参数表示新用户的密码。

例 3

下面使用 GRANT 语句创建名为 test3 的用户,主机名为 localhost,密码为 test3。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:

mysql  GRANT SELECT ON*.* TO  test3 @localhost IDENTIFIED BY  test3 
Query OK, 0 rows affected, 1 warning (0.01 sec)

其中,“*.*”表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

到此,关于“mysql 如何增加用户”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计2822字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)