MySQL-8.0.28 用户设置
一、用户增删改查
#使用root用户登录进入mysql
[root@root~]$ sudo mysql -u root -p
Enter password: #输入密码
#进入mysql数据库
use mysql;
1.查询用户
select user, host, authentication_string from user;
#user:用户名
#host:IP地址
#authentication_string:用户加密之后的密码
2.创建用户
CREATE USER 用户名 IDENTIFIED BY '密码';
3.修改用户密码
#1.先将用户密码修改为空
UPDATE USER SET authentication_string='' WHERE user='用户名';
#2.再输入要修改的密码(下面这段是加密之后添加)
ALTER USER '用户名'@'localhost' IDENTIFIED BY '新密码';
4.删除用户
DROP USER 用户名;
二、用户权限设置
1.查看权限
show grants for 'username'@'localhost';
2.赋予权限
grant all privileges on *.* to '用户名'@'localhost' identified by '密码';
-
授予用户全局操作权限
#创建除root操作用户外,建议不要添加 with grant option 命令 grant all privileges on *.* to '用户名'@'localhost' identified by '密码' with grant option;
-
授予用户单独操作权限
#设置 root01 用户只能对 testdata 数据库进行全局操作 grant all privileges on testdata.* to 'root01';
#所有用户、权限操作修改之后输入如下命令
flush privileges;
3.撤销权限
#修改 root01 用户对 testdata数据库中所有表的操作
revoke privileges on testdata.* from 'root01'@'localhost';
4.grant命令说明
privileges
权限列表:all privileges
:所有权限。select、update、insert、delete
:增删改查权限。可以连用,中间使用逗号隔开。
on
指定权限针对的库和表:*.*
第一个 * 指定数据库的名字,第二个 * 指定表名to
后面接权限赋予的用户'root'@'localhost'
root为用户名,localhost为设置的IP段identified by
指定用户的登录密码。with grant option
这个选项标识该用户可以将自己的拥有的权限赋予给别人。即定义root用户的时候使用,其余用户不建议使用。
另外:grant可以重复的给一个用户添加权限。不需要删除用户之后重新创建。