查看数据库的用户、密码、主机字符串的命令如下。
mysql > SELECT user,host,password FROM user;
显示某个用户的权限的命令如下。
SHOW GRANTS FOR username@'ip_range';
赋予某个用户对库db1进行SELECT、INSERT、UPDATE和DELETE的权限的命令如下。
GRANT SELECT,INSERT,UPDATE,DELETE ON db1.* TO username@'10.%' IDENTIFIED BY 'your_password';
(2)赋予备份用户权限
赋予备份整个实例权限的命令如下。
GRANT LOCK TABLES,RELOAD,SUPER,SELECT,SHOW VIEW,TRIGGER,PROCESS ON *.* TO backup@localhost IDENTIFIED BY 'xxxxxx';
赋予远程备份各个库权限的命令如下。
GRANT LOCK TABLES,SELECT,RELOAD,SHOW VIEW,trigger ON *.* TO backup@'10.10.10.10' IDENTIFIED BY 'xxxxxx';
还有一些常用的权限,如配置复制时,复制用户需要REPLICATION SLAVE权限,查看复制状态需要REPLICATION
CLIENT权限。大家可以阅读官方文档来进一步了解具体的权限。
(3)修改用户密码
可以使用SET PASSWORD命令更改密码。
mysql>SET PASSWORD FOR user@'ip_range' = PASSWORD('some password');
或者使用GRANT命令重新赋予用户连接密码。
mysql>GRANT USAGE ON *.* TO user@'ip_range' IDENTIFIED BY 'some password';
或者可以使用如下命令直接修改系统表。
shell> mysql -u root
mysql> UPDATE mysql.user SET PASSWORD=PASSWORD('newpwd')
WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysq5.7使用下面命令:
update mysql.user set authentication_string=password('root') where user='root' ;即可