【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限

一、新建用户:

1、执行sql语句新建(推荐):

INSERT INTO `mysql`.`user` (
	`Host`,
	`User`,
	`Password`,
	`ssl_cipher`,
	`x509_issuer`,
	`x509_subject`,
	`authentication_string`
)
VALUES
(
	'%',											-- 允许远程访问
	'zhangsan',										-- 用户名
	'*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9',	-- 明文密码:123456
	'',
	'',
	'',
	''
);

select * from user where `user` = 'zhangsan';

2、使用工具新建:
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第1张图片
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第2张图片

二、设置权限

1、配置数据库以及数据表(记得保存):
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第3张图片
2、设置【服务器权限】全部为撤销
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第4张图片
3、刷新数据库权限:

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)

4、配置连接:
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第5张图片

三、测试权限:

1、测试结果,已屏蔽没有权限的数据库以及数据表:
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第6张图片
2、测试是否有删除权限:
【运维笔记】mysql 设置指定用户只能看到指定的数据库及表,并且只有查询权限_第7张图片


























注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!


持续更新中…

如有对思路不清晰或有更好的解决思路,欢迎与本人交流,QQ群:273557553
你遇到的问题是小编创作灵感的来源!


你可能感兴趣的:(数据库)