MySql DCL用户管理和权限管理,忘记了root用户密码怎么办?
用户管理
1.创建用户(首先要使用mysql数据库中的user表)
指定主机上登录
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
任意主机上登录
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
2.删除用户
DROP USER '用户名'@'主机名';
3.修改用户密码
方式一:
UPDATE USER SET PASSWORD=PASSWORD('新密码') WHERE USER = '用户名';
FLUSH PRIVILEGES;
方式二:
SET PASSWORD FOR '用户名'@'主机名'=PASSWORD('新密码');
权限管理
查询权限:
SHOW GRANTS FOR '用户名'@'主机名';
授予权限:
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
例:
GRANT SELECT,DELETE,UPDATE ON db2.`account` TO 'zhangsan'@'localhost';
授予所有权限,在任意数据库任意表上
GRANT ALL ON *.* TO '用户名'@'主机名';
例:
GRANT ALL ON *.* TO 'zhangsan'@'localhost';
插销权限:
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
例:
REVOKE SELECT ON db2.`account` FROM 'zhangsan'@'localhost';
忘记了root用户密码怎么办?
1.管理员权限运行cmd窗口(stop 是服务名):
net stop mysql5.5
2.使用无验证什么方式启动mysql服务
mysqld --skip-grant-tables
3.打开新的cmd窗口,直接输入mysql命令,回车,就可以登录成功
4.使用mysql数据库
use mysql;
5.修改密码
update user set password=password('新密码') where user='root';
6.关闭两个cmd窗口
7.打开任务管理器,手动结束mysqld.exe进程
8.启动mysql服务(管理员权限运行)
net start mysql5.5
9.使用新密码登录
mysql -uroot -p'新密码'