1. 登录MySQL服务器本地
首先,你需要以具有足够权限的用户(通常为root用户)登录MySQL服务器本地。在终端中执行如下命令:
mysql -u root -p
2. 修改用户身份验证插件
MySQL 8.0默认使用caching_sha2_password身份验证插件,为了兼容更多旧版客户端,你可以将root用户的认证方式更改为mysql_native_password插件:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_strong_password';
3. 授权远程访问
接下来,你需要赋予root用户远程访问权限。若允许任意IP地址访问,执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
如果你想只为特定IP地址授权远程访问,可以这样操作:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'your_remote_ip' WITH GRANT OPTION;
4. 刷新权限
为了让以上权限更改生效,执行以下SQL命令:
FLUSH PRIVILEGES;
5. 配置防火墙规则
确保服务器上的防火墙允许MySQL服务端口(默认为3306)的入站流量:
对于使用ufw防火墙的Ubuntu等系统:
sudo ufw allow 3306/tcp
对于使用firewalld防火墙的CentOS/RHEL系统:
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload