mysql权限机制

MySQL权限控制包含如下两个阶段。
阶段1:服务器检查是否允许你连接
阶段2:假定你能连接,服务器将检查你发出的每一个请求,查看你是否有足够的权限实施它。
假如,如果你从数据库表中选择(SELECT)行或从数据库中删除表,那么服务器要确定你是否对表有SELECT权限或对数据库有DROP权限。

MySQL是通过用户名、密码、IP(主机名)3个要素来验证用户的。当你想要访问MySQL服务器时,MySQL客户端程序一般会要求你指定如下参数。
  • MySQL服务器IP,端口
  • 用户名
  • 密码
以下是连接MySQL服务器的一个例,你需要以实际的IP、端口、用户名、密码代替相应的内容。
mysql -h host_ip_address -u user_name -pyour_password -p server_port

赐予权限和回收权限

一般在生产环境下,程序账号有增加、删除、查询、修改这4项功能即可。
如下命令用于赐予查询、插入、修改、删除权限,并进行密码设置。
MariaDB [(none)]> grant select,insert,update,delete on db_name.* to user_name@'10.%' identified by 'password';

如下命令用于回收上面所赐予的权限。
MariaDB [(none)]> revoke select,insert,update,delete on db_name.* from user_name@'10.%';