0
点赞
收藏
分享

微信扫一扫

mysql数据库用户的创建、修改、删除

1.1 登录MySQL服务器

启动MySQL服务后,可以通过mysql命令来登录MySQL服务器,命令如下:

mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句"

下面详细介绍命令中的参数:

-h参数 后面接主机名或者主机IP,hostname为主机,hostIP为主机IP。

-P参数 后面接MySQL服务的端口,通过该参数连接到指定的端口。MySQL服务的默认端口是3306, 不使用该参数时自动连接到3306端口,port为连接的端口号。

-u参数 后面接用户名,username为用户名。

-p参数 会提示输入密码。

DatabaseName参数 指明登录到哪一个数据库中。如果没有该参数,就会直接登录到MySQL数据库 中,然后可以使用USE命令来选择数据库。

-e参数 后面可以直接加SQL语句。登录MySQL服务器以后即可执行这个SQL语句,然后退出MySQL 服务器。

举例:

mysql -uroot -p -hlocalhost -P3306 mysql -e "select host,user from user"

1.2 创建用户

在mysql数据库中,官方推荐使用create user语句来创建用户。mysql8移出了password加密方法,因此不再推荐使用insert语句直接操作mysql中的user表来增加用户。

使用create user语句来创建用户时必须拥有create user权限。每添加一个用户,create user语句会在mysql.user表中添加一条新的记录,但是新创建的用户没有任何的权限。如果添加的用户已经存在,create user语句会返回一个错误。

CREATE USER语句的基本语法形式如下:

CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']];

用户名参数表示新建用户的账户,由 用户(User) 和 主机名(Host) 构成;

“[ ]”表示可选,也就是说,可以指定用户登录时需要密码验证,也可以不指定密码验证,这样用户

可以直接登录。不过,不指定密码的方式不安全,不推荐使用。如果指定密码值,这里需要使用

IDENTIFIED BY指定明文密码值。

CREATE USER语句可以同时创建多个用户。

举例:

CREATE USER zhang3 IDENTIFIED BY '123123'; # 默认host是 %

CREATE USER 'xiashuai'@'localhost' IDENTIFIED BY '123456';

登录数据库插叙mysql.user下的用户如下

添加一个zhang3用户会看到多了一个用户且host字段位%

1.3 修改用户

UPDATE mysql.user SET USER='zhangsan' WHERE USER='zhangs'; 
FLUSH PRIVILEGES;

 1.4 删除用户

方式1:使用DROP方式删除(推荐)

使用DROP USER语句来删除用户时,必须用于DROP USER权限。DROP USER语句的基本语法形式如下:

DROP USER user[,user]…;

举例:

 DROP USER li4 ; # 默认删除host为%的用户 ​​​​​​​
DROP USER 'kangshifu'@'localhost';

方式2:使用DELETE方式删除

DELETE FROM mysql.user WHERE Host=’hostname’ AND User=’username’;
执行完DELETE命令后要使用FLUSH命令来使用户生效,命令如下:
FLUSH PRIVILEGES;

注意:不推荐通过 DELETE FROM USER u WHERE USER='xx' 进行删除,系统会有残留信息保

留。而drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表

的相应记录都消失了。

 

举报

相关推荐

0 条评论