mysql8.0用户操作

创建用户

命令:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:
username: 你将创建的用户名
host: 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password: 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

授权

命令:
GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如news.*

例子:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

设置与更改用户密码

命令:
ALTER USER 'username'@'host' IDENTIFIED [WITH 'mysql_native_password|caching_sha2_password'] BY 'password';
说明:
caching_sha2_password是默认的加密方式, 选则加密方式时注意加'".
例子:

ALTER USER 'pig'@'%' IDENTIFIED BY '12345678';
ALTER USER 'pig'@'%' IDENTIFIED WITH 'mysql_native_password' BY '12345678';

会报错的命令:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是当前登陆用户用:
SET PASSWORD = PASSWORD("newpassword");

撤销用户权限

命令:
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
说明:
privilege, databasename, tablename:同授权部分
例子:

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意:
假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%';,则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。反之,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的SELECT权限。
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看。

删除用户

命令:
DROP USER 'username'@'host';


作者:whieenz
来源:优快云
原文:https://blog.youkuaiyun.com/whieenz/article/details/83015235
版权声明:本文为博主原创文章,转载请附上博文链接!

MySQL 8.0中,你可以通过创建新用户并为其授予相应的权限来管理用户权限。首先,你需要编辑MySQL的配置文件my.cnf,并在[mysqld]部分添加以下代码:default_authentication_plugin=mysql_native_password。然后,重启MySQL服务以使更改生效。 在MySQL 8.0之前的版本中,你可以使用以下命令来创建远程访问的新用户并为其授予权限: 1. 连接到MySQL数据库:use mysql; 2. 使用grant语句为用户授权: - grant all privileges on *.* to '新用户名'@'%' identified by '密码' with grant option;(允许所有IP访问) - grant all privileges on *.* to '新用户名'@'指定ip' identified by '密码' with grant option;(仅允许指定IP访问) 例如,以前版本的创建用户授权的语句为:grant all privileges on *.* to 'root'@'%' identified by "123456" with grant option; 最后,使用flush privileges命令刷新权限。 在MySQL 8.0中,创建用户和授权的操作需要分开进行: 1. 创建用户角色:CREATE USER 'root'@'%';(创建角色) 2. 设置用户密码:ALTER USER 'root'@'%' IDENTIFIED BY '123456';(设置密码) 3. 授予用户权限:grant all privileges on *.* to "root"@"%";(给角色授权) 最后,使用flush privileges命令刷新权限。 如果你需要修改用户的主机信息,你可以使用以下命令: update mysql.user set host='具体要指定的主机ip' where user='root';(修改主机) 你可以使用以下命令查看用户信息: select user,host,authentication_string from user;(查看用户信息) 希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值