前言:本文内容为实操记录,仅供参考!
一、新建MySQL用户:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
其'username'@'%'意为新建用户username可以通过任何主机进行远程连接。
二、给MySQL中的某一用户授予某个库的所有权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
刷新权限:
FLUSH PRIVILEGES;
数据库新建用户范式:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
FLUSH PRIVILEGES;
问题:若使用工具远程登录报错以下错误:
Unable to load authentication plugin 'caching_sha2_password'.
意为无法识别密码引擎,这时需要去查看新建用户的密码引擎。
输入:use mysql;
再输入:select user,host,plugin,authentication_string from user;
此时会得到用户加密规则页面。
再输入:alter user 'username'@'localhost' identified with mysql_native_password by 'passwd';
更改密码引擎,
之后再输入:FLUSH PRIVILEGES; 进行刷新。
三、删除MySQL用户:
附上两条命令:
- 查看数据库中所有用户:SELECT User FROM mysql.user;
- 查看数据库某用户的权限:SHOW GRANTS FOR 'username'@'%';
1、检查用户是否存在:
SELECT User,Host FROM mysql.user WHERE User = 'username' AND Host = 'localhost';
2、如果用户存在,您可以使用以下命令删除它:
DROP USER 'username'@'localhost';
3、再把user表中的用户信息进行删除:
DELETE FROM user WHERE user ='username' AND host ='localhost';
4、刷新:
FLUSH PRIVILEGES;
五、更改数据库用户名:
UPDATE mysql.user SET user = '新用户名' WHERE user = '旧用户名';
FLUSH PRIVILEGES;
注意:此方法更改后需要对新名字重新进行库表的授权;
附:
查看Mysql历史操作记录:
cat ~/.mysql_history