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