怎么查看远程mysql 用户root的权限设置

说实话,当我第一次接触MySQL服务器时,以root用户远程登录确实让我头疼了一段时间。
默认情况下,确实没有授予远程访问权限。
安全考虑是真实的——如果你仔细想想,直接使用 root 远程登录服务器与把你的房门钥匙扔在路边没有什么不同。

要检查root有什么权限,我通常使用这个命令:SHOW GRANTS TO 'root'@'localhost';此时,它将列出所有权限,例如 SELECT、INSERT、DELETE 或更详细的权限,例如 CREATE 和 DROP。
只要你看一下,你就会知道 root 能做什么。
有趣的是,有时这些命令运行得非常慢,尤其是当服务器非常繁忙时。
当时我不明白为什么,可能和数据库缓存有关系。

要授权远程访问root,SQL命令非常经典:GRANT ALL PRIVILEGES ON。
TO 'root'@'%' 由 'kdm001 ' 识别并授予选项;这里的“%”是关键,它意味着你可以从任何主机连接。
如果您只想连接本地 IP,请将“%”更改为特定 IP 地址。
ME OPTION GRANT 也很有趣。
它允许root有权限向其他人授予权限。
这东西用得好很重要,用不好的话……哈哈,可能会后悔。
当我第一次使用它时,我输入了“%”而不是“localhost”。
结果我根本无法连接。
我非常担心,我的头在剧烈地跳动。
最后,我意识到这只是一个小小的轻率行为。

运行命令后,必须使用FLUSH PRIVILEGES;以使更改立即生效。
我每次都会忘记这一点,最终不得不再次运行它。
说实话,如果你长期经历这个过程,你会觉得很顺利,但刚开始的时候,每一步都得小心翼翼。

下一步是确认本地机器。
打开一个新的 CMD 窗口并使用以下命令登录:mysql -u root -p -h your_server_ip,然后输入“kdm001 ”作为密码。
如果直接访问MySQL命令行,则远程登录成功。
当我第一次成功登录时,我的手心出汗,感觉自己解开了什么秘密。
但说实话,我记得密码的复杂度应该符合要求。
具体来说,它应该超过8 个字符并包含字母数字符号,但我记不太清楚了。
我建议您检查服务器的具体要求。

最后一步,不要忘记将 root 远程访问密码更改为更复杂的密码。
想想看,如果密码很简单,被别人破解,损失将是巨大的。
我有一个朋友,因为root密码是“1 2 3 4 5 6 ”,服务器直接被黑了,所有数据都丢失了。
你觉得惨不惨?

mysql如何查看当前用户权限