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、使用工具新建:
1
2

二、设置权限
1、配置数据库以及数据表(记得保存):
3
2、设置【服务器权限】全部为撤销
4
3、刷新数据库权限:

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

4、配置连接:
5

三、测试权限:
1、测试结果,已屏蔽没有权限的数据库以及数据表:
6
2、测试是否有删除权限:
7

我来吐槽

*

*