1. 创建用户
- 语法1:
create user '用户名'@'localhost' identified by '密码';
该用户只能在本地登录 - 语法2:
create user '用户名'@'%' identified by '密码';
该用户可以远程登录
#创建了一个名为:test 密码为:1234567 的用户
create user 'test'@'localhost' identified by '1234567';
2. 查询用户
- 语法:
select user,host from mysql.user;
查询哪些host主机登陆了当前的mysql数据库
select user,host from mysql.user;
3. 用户重命名
- 语法1:
rename user ‘旧用户名‘@‘localhost’ to ‘新用户名‘@'localhost';
- 语法2:
rename user ‘旧用户名‘@‘%’ to ‘新用户名‘@'%';
4. 删除用户
- 语法1:
drop user 用户名@localhost ;
删除允许本地登录的用户 - 语法2:
drop user 用户名@‘%’;
删除允许远程登录的用户
5. 更改密码
- 语法1:
set password for 用户名=password('新密码');
密码实时生效 - 语法2:
update mysql.user set password=password('新密码') where user='用户名'
需要刷新后生效
update mysql.user set password=password('1234') where user='test'
# 刷新
flush privileges;
6. 用户权限
6.1 分配用户权限
#授予用户“test”通过外网IP对于该数据库“testdb”中表的创建、修改、删除权限
grant create,alter,drop on db1.* to test@'localhost';
# 修改权限后需刷新或者重启
flush privileges; # 刷新
6.2 查看用户权限
- 语法1:
show grants for 用户名;@'localhost'
- 语法2:
show grants for 用户名@'%';
show grants for test@'localhost;'
6.3 回收用户权限
# 收回test对db1数据库中表的删除权限
revoke drop on db1.* from test@'localhost';