MySQL   发布时间:2022-05-15  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了mysql怎么增加用户大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

mysql怎么增加用户

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

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

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

@H_385_0@mysqL 提供了以下 3 种方法@R_939_10589@。

  • 使用 CREATE USER 语句@R_939_10589@

  • 在 Mysql.user 表中添加用户

  • 使用 GRANT 语句@R_939_10589@

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

1. 使用CREATE USER语句@R_939_10589@

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

CREATE USER <用户> [ IDENTIFIED BY [ passworD ] 'password' ] [ ,用户 [ IDENTIFIED BY [ passworD ] 'password' ]]

参数说明如下:

1) 用户

指定@R_939_10589@账号,格式为 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 语句和执行过程如下。

@H_815_39@mysqL> CREATE USER 'test1'@'localhost' IDENTIFIED BY 'test1'; Query OK, 1 rows affected (0.06 seC)

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

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

例 2

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

@H_815_39@mysqL> SELECT password('test1'); +-------------------------------------------+ | password('test1') | +-------------------------------------------+ | *06C0BF5B64ECE2F648B5F048A71903906BA08E5C | +-------------------------------------------+ 1 row in set, 1 warning (0.00 seC)

“*06C0BF5B64ECE2F648B5F048A71903906BA08E5C”就是 test1 的哈希值。下面@R_939_10589@ test1,sql 语句和执行过程如下:

@H_752_105@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 语句@R_939_10589@的基本语法形式如下:

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 语句和执行过程如下:

@H_815_39@mysqL> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3'; Query OK, 0 rows affected, 1 warning (0.01 seC)

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

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

【相关推荐:mysql视频教程】

大佬总结

以上是大佬教程为你收集整理的mysql怎么增加用户全部内容,希望文章能够帮你解决mysql怎么增加用户所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: