惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
量子位
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
美团技术团队
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
博客园 - 【当耐特】
L
LangChain Blog
A
About on SuperTechFans
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
Netflix TechBlog - Medium
博客园_首页
WordPress大学
WordPress大学
博客园 - Franky
Engineering at Meta
Engineering at Meta
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
M
MIT News - Artificial intelligence

博客园 - Mr.peter

Git 全量终极速记表 git常用命令汇总 Golang基础面试题 ansible是什么?怎么玩?给出常问的面试题和答案 Terraform telnet localhost 3306 -bash: telnet: command not found macos 开放3306端口 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused Error: git: Failed to download resource "git.rb" 使用Redis来处理高并发问题 go slice切片的扩容机制是什么? 使用Kubernetes时可以采取哪些最佳安全措施 Kubernetes与Docker Swarm的区别如何 k8s是怎么进行服务注册的 说说你对Job这种资源对象的了解 常用的标签分类有哪些 简述Helm及其优势 简述Kubernetes集群联邦 简述Kubernetes中,如何使用EFK实现日志的统一管理 Kubernetes 网络 Kubernetes PodSecurityPolicy
Mysql 授予root在任意主机访问数据库的权限
Mr.peter · 2025-08-11 · via 博客园 - Mr.peter

在MySQL中授予root用户从任意主机访问数据库的权限,需执行以下操作步骤(以MySQL 5.7和8.0版本为例):

一、基础授权操作

  1. ‌登录MySQL服务器‌

  2. ‌执行授权命令‌

    • ‌MySQL 5.7及以下版本‌:

      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

    • ‌MySQL 8.0+版本‌(需分两步):

      CREATE USER 'root'@'%' IDENTIFIED BY '你的密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

  3. ‌刷新权限‌

二、安全加固措施

  1. ‌修改MySQL配置文件‌
    编辑my.cnfmy.ini文件,注释或删除bind-address = 127.0.0.1,改为:

    重启MySQL服务使配置生效718。

  2. ‌防火墙配置‌
    开放3306端口(或自定义端口):

三、MySQL 8.0特有配置

  1. ‌修改加密规则‌(解决客户端兼容问题):

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

  2. ‌检查用户权限表‌:

    SELECT host, user FROM mysql.user;

    确认root用户的host字段值为%811。

四、安全建议

  1. ‌生产环境风险提示‌

    • 避免直接使用root@%,建议创建专用管理账户并限制IP范围17。
    • 使用强密码(包含大小写字母、数字和特殊字符)16。
    • 定期审计用户权限12。
  2. ‌替代方案‌
    创建受限的管理用户:

    CREATE USER 'admin'@'192.168.1.%' IDENTIFIED BY '复杂密码'; GRANT SELECT, INSERT, UPDATE ON 指定数据库.* TO 'admin'@'192.168.1.%';

五、验证远程连接

在其他主机测试连接:

mysql -h 服务器IP -u root -p

‌注意‌:完成操作后应立即执行FLUSH PRIVILEGES使配置生效517。若仍无法连接,需检查防火墙规则和MySQL错误日志。