在MySQL 8.0及更高版本中,GRANT
语句的语法有所变化。不再使用 IDENTIFIED BY 'password'
来设置或修改用户的密码。相反,你需要分两步来完成这个过程:首先创建或修改用户,并设置密码;然后授予相应的权限。
这里是你应该遵循的步骤:
创建或修改用户及其密码:
如果 root
用户已存在并且你只是想更改其密码或允许从另一个地址访问,使用 ALTER USER
语句:
ALTER USER 'root'@'内网IP' IDENTIFIED BY '新密码';
将 '内网IP'
替换为你的内网IP地址,'新密码'
替换为新密码。
如果你想允许 root
用户从任何IP地址连接,你可以使用:
ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
如果 root
用户在指定的主机上还不存在,你需要先创建用户:
CREATE USER 'root'@'内网IP' IDENTIFIED BY '新密码';
或者对于任意IP地址:
CREATE USER 'root'@'%' IDENTIFIED BY '新密码';
授予权限:
GRANT
语句授予权限(不再包含密码):GRANT ALL PRIVILEGES ON *.* TO 'root'@'内网IP' WITH GRANT OPTION;
或者对于任意IP地址:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
刷新权限:
FLUSH PRIVILEGES;
这些操作完成后,root
用户应该能够从指定的内网IP地址访问MySQL服务器。记得替换示例中的 '内网IP'
和 '新密码'
为实际的IP地址和你想要设置的密码。请小心操作,并确保你了解每个命令的作用。如果你对此有任何疑问,最好咨询经验丰富的数据库管理员。