本节书摘来自华章出版社《MySQL DBA修炼之道》一书中的第1章,第1.4节,作者:陈晓勇,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.4 MySQL权限
1.4.1 MySQL权限机制
MySQL权限控制包含如下两个阶段。
阶段1:服务器检查是否允许你连接。
阶段2:假定你能连接,服务器将检查你发出的每一个请求,查看你是否有足够的权限实施它。例如,如果你从数据库表中选择(SELECT)行或从数据库中删除表,那么服务器要确定你是否对表有SELECT权限或对数据库有DROP权限。
MySQL是通过用户名、密码、IP(主机名) 3个要素来验证用户的。当你想要访问MySQL服务器时,MySQL客户端程序一般会要求你指定如下参数。
MySQL服务器的IP(主机名),端口
用户名
密码
以下是连接MySQL服务器的一个示例,你需要以实际的IP、端口、用户名、密码代替相应的内容。shell> mysql -h host_ip_address -u user_name -pyour_password -P server_port
1.4.2 赋予权限和回收权限
一般在生产环境下,程序账号有增加、删除、查询、修改这4项功能即可。
如下命令用于赋予查询、插入、修改、删除权限,并进行密码设置。mysql>grant select,insert,update,delete on db_name.* to user_name@ '10.%' identified by 'password';
如下命令用于回收上面所赋予的权限。mysql>revoke select,insert,update,delete on db_name.* from user_name@ '10.%';