当前位置: 首页 > news >正文

MySQL允许root用户远程连接

注意:在实际生产环境中,允许root用户从任意主机(‘%’)连接存在安全风险,建议使用强密码并限制访问IP,或者创建具有必要权限的单独用户用于远程连接。

MySQL 配置远程连接指南

1. 登录 MySQL 服务器

mysql -u root -p
# 输入 root 密码后进入 MySQL 命令行

2. 切换到 mysql 系统数据库

USE mysql;

3. 修改 root 用户访问权限

UPDATE user SET host = '%' WHERE user = 'root';

重要说明:
host=‘%’ 允许所有 IP 远程访问(存在安全风险)
生产环境建议指定特定 IP,如 host=‘192.168.1.100’
若需保留本地访问,需同时保留 host=‘localhost’ 的记录

4. 刷新权限使配置生效

FLUSH PRIVILEGES;

5. 退出 MySQL

EXIT;

验证远程连接

在其他机器上使用客户端连接:

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

安全加固建议

1.创建专用账号(推荐方案)

CREATE USER 'remote_user'@'特定IP' IDENTIFIED BY '强密码';
GRANT 所需权限 ON 数据库.* TO 'remote_user'@'特定IP';
FLUSH PRIVILEGES;

2.防火墙限制

# 仅允许信任 IP 访问 3306 端口
sudo ufw allow from 信任IP to any port 3306

3.修改 MySQL 默认端口

编辑 /etc/mysql/mysql.conf.d/mysqld.cnf:

[mysqld]
port = 新端口号

常见错误排查

1.错误 1130:未正确设置 host 或未刷新权限 → 重复步骤 3-4
2.错误 2003:防火墙未开放端口 → 检查防火墙设置
3.错误 1045:用户名/密码错误 → 使用 ALTER USER 重置密码

⚠️ 安全警告
允许 root 用户远程访问是高风险操作!
生产环境必须:

  1. 使用 12 位以上强密码(字母+数字+符号组合)
  2. 限制访问 IP 范围(非 %
  3. 定期审计数据库访问日志
http://www.dtcms.com/a/263805.html

相关文章:

  • PDFBox + Tess4J 从PDF中提取图片OCR识别文字
  • 探秘阿里云Alibaba Cloud Linux:云时代的操作系统新宠
  • C语言学习笔记:深入解析结构体数组(附代码实践)
  • Qt QTableWidget多行多列复制粘贴
  • Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议
  • 安全左移(Shift Left Security):软件安全的演进之路
  • Spring Boot 2 多模块项目中配置文件的加载顺序
  • 智能交通信号灯
  • Django打造智能Web机器人控制平台
  • HarmonyOS应用开发高级认证知识点梳理 (三)状态管理V2装饰器核心规则
  • android车载开发之HVAC
  • 笔记本电脑怎样投屏到客厅的大电视?怎样避免将电脑全部画面都投出去?
  • 【蓝牙】Linux Qt4查看已经配对的蓝牙信息
  • 05【C++ 入门基础】内联、auto、指针空值
  • 算法-每日一题(DAY12)最长和谐子序列
  • 为Mkdocs网站添加Google广告
  • CRMEB开源商城系统Windows+IIS环境安装配置详解
  • word中一行未满但是后面有空白行
  • 每日一练:找到初始输入字符串 I
  • AbMole| H₂DCFDA(M9096;活性氧(ROS)探针)
  • MySQL索引深度解析:B+树、B树、哈希索引怎么选?
  • 凸包进阶旋转卡壳(模板题目集)
  • Window 2000 Perfectional_配置和管理FTP
  • uniapp内置蓝牙打印
  • Qt小组件 - 1(手风琴)
  • 计算机网络:【socket】【UDP】【地址转换函数】【TCP】
  • 测试第六讲-测试模型分类
  • CloudBase AI ToolKit实战:从0到1开发一个智能医疗网站
  • 时空数据挖掘五大革新方向详解篇!
  • 电机控制——电机位置传感器零位标定