1、创建新用户
CREATE USER '用户名' IDENTIFIED BY '密码';
比如:
CREATE USER 'test_user' IDENTIFIED BY '123456';
2、权限管理
- 授权
grant all privileges on 数据库名.表名 to '用户名'@'IP地址';
也可以对数据库权限做细分授权,比如允许用户有insert权限
grant insert on 数据库名.表名 to '用户名'@'IP地址';
flush privileges;
有人说可以使用
命令行赋权,本人在MySql8中实际操作会报错。grant all privileges on 数据库名.表名 to '用户名'@'主机名' identified by '密码' with grant option;
示例
-- 给用户test_user赋予对test_db数据库所有操作权限,可以在任意地址登录操作
grant all privileges on test_db.* to 'test_user'@'%';
-- 给用户test_user赋予对test_db数据库中t_user表的insert操作权限,可以在本地登录操作
grant insert on test_db.t_user to 'test_user'@'localhost';
- 撤销权限
revoke all privileges from 数据库名 to '用户名'@'IP地址';
- 说明
all privileges指除了grant之外的所有权限。
%表示任意地址
数据库.*表示数据库下所有的表
3、删除用户
drop user '用户名'@’主机名‘;
4、修改用户密码
update user set authentication_string = password(‘新密码’) where user = '用户名' and host = '主机名';
5、找回密码
-
停止mysql服务
-
打开命令行窗口在mysql安装目录bin下执行
mysqld --skip-grant-tables
如果是mysql5.0以上的,可以直接双击mysql安装目录bin下mysql.exe
- 选择mysql数据库,并修改用户密码
update user set password = password('新的密码') where user = '要修改密码的用户名';
flush privileges;
exit;
password是mysql的密码加密方法。
- 杀掉mysqld进程,重启mysql服务用新密码登录即可。