转载链接: Mysql中使某个用户只能访问指定的数据库.
感谢该博主的说明。
使用navicat
1)使用root用户新建连接
2)新建MySQL用户
3)点击权限,选择添加权限,出现MySQL中已存在的数据库列表,选择你要为该新建用户开放的数据库,此处选择“test”数据库,选择一些必要的权限信息,确定
4)查看新建用户对数据库的操作权限,如下图
5)很重要的一点,别忘记保存!
6)然后新建连接,输入用户名和密码,打开连接,则新建的那个用户只能看到为他分配的那个数据库
2.命令行实现
1) 进入mysql的bin目录mysql -uusername -ppassword
- 1
username为用户名,password为密码,一般创建用户的话,都使用 root用户
2)登录成功后,进入mysql数据库
use mysql
- 1
3) 创建新用户
CREATE USER 'test02'@'localhost' IDENTIFIED BY 'test';
- 1
‘test02’为新创建用户的用户名,’test’为用户密码
4) 为新用户赋予权限
GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, CREATE VIEW, SHOW VIEW ON `test`.* TO 'test02'@'localhost';
- 1
ON后面的‘test’为数据库名,TO后面的 ‘test02’表示用户, ‘localhost’表示只能本地访问,如果 想让所有IP都可以访问,可以将localhost换成 ‘*’星号
5) 刷新权限
flush privileges;
- 1