mysql重置密码与用户管理相关
一、mysql数据库重置密码的方法。
当我们忘记mysql数据库root账号的密码时,可以重置密码。
1. vim /etc/my.cnf。
2. 在my.cnf配置文件中加上"skip-grant-tables"。
3. 重启mysql服务端:systemctl restart mysqld。
4. 执行update mysql.user set authentication_string=password('密码') where user='root';
5. 修改root的密码后,vim /etc/my.cnf,把加的"skip-grant-tables"去掉。
6. 重启mysql服务,然后就可以使用连接命令连接mysql了。
二、mysql数据库新建用户、权限管理、以及删除用户。
权限控制安全准则。
只授予能满足需要的最小权限,防止用户执行危险操作。
限制用户远程登录主机。
禁止或删除没有密码的用户。
定期清理无效的用户,回收权限或者删除用户。
2. 创建账号并授予权限。
数据库版本在8.0之前的版本。
grant all privileges on *.* to '用户名'@'ocalhost' identfied by '密码' with grant option;
grant:授予。
all privileges:所有的权限,也可以指定select、insert、update、delete、create、drop、index等十四种权限。
*.*:所有数据库里的所有表。
'用户名'@'localhost':只允许本机登录。
identfied by:设置密码。
with grant option:它的权限可以向下传递。
3. 查看权限。
show grants;
show grants for 'username’@‘localhost';查看tester用户的权限
4. 回收权限。
revoke all privileges on *.* from 'username'@'localhost';
revoke grant option on *.* from 'username'@'localhost';
5. 修改权限。
grant privileges on databasename.tablename to 'username'@'host';
grant select, insert on databasename.tablename to 'username'@'%';
6. 删除权限。
use mysql;
select host, user from user;
drop user '用户名'@'localhost';
或者:delete from user where user = '用户名' and host = 'localhost';
7. 创建一个可远程连接的用户。
grant all privileges on *.* to '用户名'@'%' identified by '密码' with grant option;
8. 修改一个已有的用户让他可以远程连接。
use mysql;
update user set host = '%' where user = '用户名';
9. 刷新权限。
flush privileges;
10. 如果/etc/my.cnf配置文件中加了以下命令,则只允许本机登录。
bind-address=127.0.0.1