使用用户登录
mysql -u username -p
# 执行后会提示输入密码
查看用户信息
# 切换到mysql系统数据库
use mysql;
# 查询用户信息
select * from mysql.user;
# 展示的数据太多,只取需要的
select host, user from mysql.user;
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password'
-
username
: 用户名 -
host
: 指定用户能在哪个主机上登录,如果是localhost
,是指定只能本机登录。如果使用通配符%
,则可以让该用户从任意主机登录 -
password
: 登录密码,如果为空则不用密码登录
删除用户
- 删除用户
DELETE FROM mysql.user WHERE USER='username' and HOST='host';
-
username
: 要删除的用户名 -
host
: 要删除用户的host
- 刷新缓存
flush privileges;
- 删除账户及权限
DROP USER 'username'@'host';
修改制定用户密码
- 一种
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
如果是当前登陆用户用:
SET PASSWORD = PASSWORD("newpassword");
- 另一种
UPDATE mysql.user SET PASSWORD=PASSWORD('新密码') WHERE USER="test" and HOST="localhost";
然后刷新缓存
flush privileges;
给用户授权
GRANT privileges ON databasename.tablename TO 'username'@'host'
-
privileges
:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL -
databasename
:数据库名 -
tablename
:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
撤销用户权限
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
注意:授权时是什么权限,撤销就要对应的权限,如果用*和ALL去撤销某个授权会失败
网友评论