当前位置 : 主页 > 数据库 > mysql >

mysql数据库怎么增加用户

来源:互联网 收集:自由互联 发布时间:2022-06-23
增加用户的两种方法:1、使用CREATE USER语句新建用户并设置相应的密码,语法“CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] password]”。2、用GRANT语句新建用户,语法“GRANT 用户权限 ON database.t

增加用户的两种方法:1、使用CREATE USER语句新建用户并设置相应的密码,语法“CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password']”。2、用GRANT语句新建用户,语法“GRANT 用户权限 ON database.table TO 用户 [IDENTIFIED BY [PASSWORD] 'password']”。

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

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

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

mysql数据库增加(创建)用户的两种方法

  • 使用 CREATE USER 语句创建用户

  • 使用 GRANT 语句创建用户

1、使用MySQL CREATE USER语句新建用户

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

CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];

1) 用户

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

3) IDENTIFIED BY子句

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

2) PASSWORD 'password'

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

注:密码必须是明文。在将用户帐户保存到user表中之前,MySQL将加密密码。

例如,要创建一个使用 密码dbadmin连接到MySQL数据库服务器 的新用户,请使用以下 语句:localhostsecretCREATE USER

CREATE USER dbadmin@localhost 
IDENTIFIED BY 'secret';

要查看用户帐户的权限,请使用以下SHOW GRANTS语句:

SHOW GRANTS FOR dbadmin@localhost;

1.png

结果中的*.*表示用户帐户dbadmin只能登录数据库服务器,没有其他权限。要向用户授予权限,请使用GRANT语句。

请注意,点(.)前面的部分代表数据库,点(.)后面的部分代表表格,例如, database.table

要允许用户帐户从任何主机进行连接,请使用百分比(%) 通配符,如以下示例所示:

CREATE USER superadmin@'%'IDENTIFIED BY 'secret';

百分比通配符% 与在LIKE运算符中使用的效果相同,例如,要允许mysqladmin用户帐户从begtut.com 主机的任何子域连接到数据库服务器 ,请使用百分比通配符% ,如下所示:

CREATE USER mysqladmin@'%.begtut.com'IDENTIFIED by 'secret';

请注意,您还可以在CREATE USER 语句中使用下划线通配符_ 。

如果省略hostname 用户帐户的一部分,MySQL将接受它并允许用户从任何主机连接。例如,以下语句创建一个名为remote 可以从任何主机连接到数据库服务器的新用户帐户:

CREATE USER remote;

您可以看到授予remote用户帐户的权限,如下所示:

SHOW GRANTS FOR remote;

2.png

如果您不小心引用了用户帐户'username@hostname',MySQL会创建一个用户 username@hostname name 并允许用户从任何主机连接,这可能不是您所期望的。

例如,以下语句创建一个api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。

CREATE USER 'api@localhost';
SHOW GRANTS FOR 'api@localhost';

3.png

如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote已存在的名为的用户帐户:

CREATE USER remote;

MySQL发出以下错误消息:

ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'

注意:CREATE USER 语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT 语句。

2、使用MySQL GRANT 语句新建用户

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

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

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']

其中:

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

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

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

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

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

示例:

下面使用 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视频教程】

以上就是mysql数据库怎么增加用户的详细内容,更多请关注自由互联其它相关文章!

上一篇:mysql中金额用什么类型
下一篇:没有了
网友评论