Mysql是安全的,默认情况下用户只允许本地登录,但在这种情况下,必须使用用户进行远程连接。 因此,要启用远程连接,需要执行以下操作:
另一方面,您拥有对所有库的操作权限,以便root用户可以在任何地方远程登录。 具体操作如下。
首先在本地使用root用户登录mysql :
mysql -u root -p'youpassword '
执行许可操作:
mysqlgrantallprivilegeson *.* to ' root ' @ ' % ' identified by ' you password ' withgrantoption;
重装许可证表:
flush权限;
关闭mysql数据库:
退出
二、允许root用户在特定IP上远程登录,并对所有库具有操作权限。 具体操作如下。
本机首先使用root用户登录MySQL:MySQL-uroot-p ' you password '
执行许可操作:
grantallprivilegeson *.* to root @ ' 172.16.16.152 ' identified by ' you password ' withgrantoption;
重装许可证表:
flush权限;
关闭mysql数据库:
退出
三.允许root用户使用特定IP远程登录,并且具有所有库特定的操作权限。 具体操作如下。
首先在本地使用root用户登录mysql :
mysql -u root -p'youpassword '
执行许可操作:
授权选择,插入,更新,delete on *.* to root @ ' 172.16.16.152 ' identified by ' you password ';
重装许可证表:
flush权限;
关闭mysql数据库:
退出
四.要删除用户许可证,必须使用REVOKE命令。 具体的指令格式如下。
REVOKE privileges ON数据库[ .表名] FROM user-name;
具体来说,首先本地登录到mysql:
mysql -u root -p'youpassword '
执行许可操作:
授权选择、插入、更新、删除测试- dbto测试-用户@ ' 172.16.16.152 ' identified by ' you password ';
要删除许可证:
revokeallontest-db from test-user;
***注意:此操作仅清除了用户对TEST-DB的相关许可权限,但仍存在此用户“test-user”。
最后从用户表中清除用户:
deletefromuserwhereuser=' test-user ';
重装许可证表:
flush权限;
关闭mysql数据库:
退出
五. MYSQL权限详细分类:
全局管理权限:
FILE:在MySQL服务器上读取和写入文件。
PROCESS:显示或杀死属于其他用户的服务线程。
RELOAD:重新加载访问控制表并更新日志等。
SHUTDOWN:将退出MySQL服务。
数据库/数据表/数据列权限:
ALTER:修改现有数据表和索引,包括添加/删除列。
CREATE:创建新的数据库或数据表。
DELETE:删除表中的记录。
DROP:删除数据表或数据库。
索引:创建或删除索引。
INSERT:添加表中的记录。
SELECT:查看/搜索表中的记录。
UPDATE:修改表中的现有记录。
特殊权限:
ALL:可以做任何事(与root相同)。
USAGE:只允许登录。 我什么也做不了。