通过命令
其中'%'表示任意IP均可通过该账户访问数据库,若改为'localhost'则只有localhost可以访问该账户。
输入以上命令后关闭该账户访问的基本限制。
mysql -u root -p
然后输入密码进入mysql控制台root账户。
通过
select user();
查看用户,
1、创建账户
输入:
CREATE USER 'test_sql'@'%' IDENTIFIED BY '***';
其中'%'表示任意IP均可通过该账户访问数据库,若改为'localhost'则只有localhost可以访问该账户。
*****是你设置的密码(不包括单引号)。
2、配置账户USAGE权限
GRANT USAGE ON * . * TO 'test_sql'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
输入以上命令后关闭该账户访问的基本限制。
3、配置SELECT权限
GRANT SELECT ON `test\_db` . * TO 'test_sql'@'%';
注意这句话前面不是单引号,是esc按键下面的" ` "符号!
此时测试delete权限:
DELETE FROM `test\_db`.`p_bi` WHERE `p_bi`.`uid` =124 AND `p_bi`.`gid` =0 AND `p_bi`.`bgid` =0 AND `p_bi`.`type` =1 AND `p_bi`.`time` =1350279840 AND `p_bi`.`value` = '2' LIMIT 1
MySQL 返回:
#1142 - DELETE command denied to user 'test_sql'@'localhost' for table 'p_bi'
#1142 - DELETE command denied to user 'test_sql'@'localhost' for table 'p_bi'
4、配置其它权限
配置其它记录权限均可按照上面的指令操作。即可实现无法对表进行删除增加修改操作但是对表记录可以有增加删除修改操作的记录级权限。