天天看点

《MySQL DBA修炼之道》——1.4 MySQL权限

本节书摘来自华章出版社《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&gt; mysql -h host_ip_address -u user_name -pyour_password -p server_port</code>

1.4.2 赋予权限和回收权限

一般在生产环境下,程序账号有增加、删除、查询、修改这4项功能即可。

如下命令用于赋予查询、插入、修改、删除权限,并进行密码设置。

<code>mysql&gt;grant select,insert,update,delete on db_name.* to user_name@ '10.%' identified by 'password';</code>

如下命令用于回收上面所赋予的权限。

<code>mysql&gt;revoke select,insert,update,delete on db_name.* from user_name@ '10.%';</code>