修改配置文件
找到 MySQL 的配置文件 my.cnf(或 my.ini),通常位于 /etc/mysql/ 或者 /etc/my.cnf,使用文本编辑器打开文件,找到 [mysqld] 部分,添加如下内容:

bind-address = 0.0.0.0
这将允许所有 IP 地址的连接,如果你想限制只允许特定 IP 地址连接,可以将 0.0.0.0 替换为特定的 IP 地址。

MySQL5.6版本

1
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

MySQL5.7版本

1
2
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456';
mysql> flush privileges;

MySQL8.0版本

因默认认证插件和权限限制,需多一步 “调整认证方式” 或 “分步骤授权”。
MySQL 8 不允许 “创建用户” 和 “授权” 在一条 SQL 中完成,需分开执行:

1)创建用户

1
mysql>CREATE USER 'root'@'%' IDENTIFIED BY '123456';

2)授权示例

1
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

3)修改远程连接用户的加密规则
由于 MySQL 8 默认的 caching_sha2_password 插件,部分旧客户端(如 Navicat 11 及以下)不支持,需改为传统插件兼容:

1
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4)刷新权限

1
mysql>flush privileges;

开放服务器端口
所有版本需开放 3306 端口。