数据库禁止root用户远程登录
- 登录数据库
use mysql;
select host,user from user;
查看root用户的host是否为localhost,如果有host为%表示所有ip可以访问,执行delete from user where user="root" and host="%";
增加一个新用户管理数据库
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- username为用户名
- host为%时表示所有,有可以使用172.20.0.0/255.255.0.0
- password为用户密码
GRANT privileges ON databasename.tablename TO 'username'@'host';
- privileges表示权限,包含SELECT , INSERT , UPDATE等,全部使用ALL
- 该命令授权的用户不能给其它用户授权,如果想让该用户可以授权使用
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
- 修改用户密码
ALTER USER 'repl'@'118.24.201.13' IDENTIFIED WITH mysql_native_password BY 'newpassword';
- 修改用户密码
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
- 撤销权限
DROP USER ‘username’@'host’;
- 删除用户
SHOW GRANTS FOR 'username'@'host';
- 查询权限
flush privileges;
- 注意使用了flush才能使配置生效。