MySQL5.6-5.7-8.0版本授权用户远程连接
修改配置文件
找到 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 | mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456'; |
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 端口。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 易锦风的博客!
评论







