前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2025最新OpenEuler系统安装MySQL的详细教程

2025最新OpenEuler系统安装MySQL的详细教程

作者头像
猫头虎
发布2025-06-14 08:37:06
发布2025-06-14 08:37:06
13000
代码可运行
举报
运行总次数:0
代码可运行

2025最新OpenEuler系统安装MySQL的详细教程

一、环境准备

  • 操作系统:OpenEuler 22.03 LTS-SP2 或更新版本
  • 用户权限:需要root权限
  • 网络连接:确保能连接openEuler源或配好本地repo

作者✍️提示:如果你是全新环境,可先执行 dnf makecache 构建本地缓存

二、查看官方源中MySQL支持情况

使用以下命令查看是否有 MySQL 相关包:

代码语言:javascript
代码运行次数:0
运行
复制
dnf search mysql-server

如果显示有 mysql-server 等包,说明已经支持

三、安装MySQL

代码语言:javascript
代码运行次数:0
运行
复制
sudo dnf install -y mysql-server

等待安装完成后,启动MySQL服务:

代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl start mysqld

设置开机自启:

代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl enable mysqld

查看服务状态:

代码语言:javascript
代码运行次数:0
运行
复制
systemctl status mysqld

作者✍️提示:如果出现 “Active: active (running)” 则说明安装成功

四、初始化密码和安全配置

✅ 解决方案:重置 MySQL root 密码(兼容MySQL 8 on openEuler)


✅ 第一步:停止 mysqld 服务
代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl stop mysqld

✅ 第二步:使用“跳过授权表”模式启动 MySQL(临时无密码)
代码语言:javascript
代码运行次数:0
运行
复制
sudo mysqld --skip-grant-tables --skip-networking --user=mysql &

☑️ 注意:此命令将在前台运行,终端会被占用。建议 开另一个终端窗口或使用 SSH 登录新会话 继续后续操作。

✅ 第三步:无密码登录 MySQL

在另一个终端输入:

代码语言:javascript
代码运行次数:0
运行
复制
mysql -u root

进入 MySQL shell 后执行:

代码语言:javascript
代码运行次数:0
运行
复制
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'openEuler&2025';
FLUSH PRIVILEGES;
EXIT;

或者某些 MySQL 8 版本需要用下面的语法:

代码语言:javascript
代码运行次数:0
运行
复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewSecurePwd8!';

完成后输入:

代码语言:javascript
代码运行次数:0
运行
复制
EXIT;

✅ 第四步:恢复正常启动服务

回到原终端,按 Ctrl + C 停止前台 mysqld_safe,然后:

代码语言:javascript
代码运行次数:0
运行
复制
sudo systemctl start mysqld

现在你可以正常使用新密码登录:

代码语言:javascript
代码运行次数:0
运行
复制
mysql -u root -p

重要‼️步骤:设置远程访问权限

代码语言:javascript
代码运行次数:0
运行
复制
ERROR 1410 (42000): You are not allowed to create a user with GRANT

✅ 1. 登录 MySQL(已登录可跳过)
代码语言:javascript
代码运行次数:0
运行
复制
mysql -u root

✅ 2. 切换到 mysql 系统库
代码语言:javascript
代码运行次数:0
运行
复制
USE mysql;

✅ 3. 查看当前 root 用户定义
代码语言:javascript
代码运行次数:0
运行
复制
SELECT Host, User FROM user WHERE User = 'root';

你应该会看到:

代码语言:javascript
代码运行次数:0
运行
复制
+-----------+------+
| Host      | User |
+-----------+------+
| localhost | root |
+-----------+------+

✅ 4. 修改 root 的 host 为 %
代码语言:javascript
代码运行次数:0
运行
复制
UPDATE user SET Host='%' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

✅ 5. 重新授予权限(现在是合法的)
代码语言:javascript
代码运行次数:0
运行
复制
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

✅ 6. 验证
代码语言:javascript
代码运行次数:0
运行
复制
SELECT Host, User FROM user WHERE User = 'root';

应该输出:

代码语言:javascript
代码运行次数:0
运行
复制
+------+------+
| Host | User |
+------+------+
| %    | root |
+------+------+

远程可视化工具连接看下一篇文章~

🔒 服务器建议(更安全做法):

  • 保留 root@localhost(仅供本地登录)
  • 新建远程用户,而不是扩展 root 权限,例如:
代码语言:javascript
代码运行次数:0
运行
复制
CREATE USER 'devadmin'@'%' IDENTIFIED BY 'StrongDev#2025';
GRANT ALL PRIVILEGES ON *.* TO 'devadmin'@'%' WITH GRANT OPTION;

五、添加防火墙规则

如果需让外网或同网段的服务器连接MySQL,需打开3306端口:

代码语言:javascript
代码运行次数:0
运行
复制
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

六、进入MySQL命令行管理器

代码语言:javascript
代码运行次数:0
运行
复制
mysql -u root -p

输入新密码后即可进入MySQL管理界面

作者✍️提示:可使用 SHOW DATABASES; 查看数据库列表,或创建新数据库、用户

七、可选:配置MySQL远程连接

  1. 修改配置文件 /etc/my.cnf
代码语言:javascript
代码运行次数:0
运行
复制
[mysqld]
bind-address=0.0.0.0
  1. 重启MySQL服务:
代码语言:javascript
代码运行次数:0
运行
复制
systemctl restart mysqld
  1. 授权远程用户:
代码语言:javascript
代码运行次数:0
运行
复制
CREATE USER 'admin'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

作者✍️提示:生产环境不建议接受全网段连接,请配合防火墙或VPN系统保障

八、总结

通过上述步骤,你已经成功在OpenEuler系统上安装并启用MySQL,同时可选配置防火墙和远程连接。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2025最新OpenEuler系统安装MySQL的详细教程
    • 一、环境准备
    • 二、查看官方源中MySQL支持情况
    • 三、安装MySQL
  • 四、初始化密码和安全配置
    • ✅ 解决方案:重置 MySQL root 密码(兼容MySQL 8 on openEuler)
      • ✅ 第一步:停止 mysqld 服务
      • ✅ 第二步:使用“跳过授权表”模式启动 MySQL(临时无密码)
      • ✅ 第三步:无密码登录 MySQL
      • ✅ 第四步:恢复正常启动服务
    • 重要‼️步骤:设置远程访问权限
      • ✅ 1. 登录 MySQL(已登录可跳过)
      • ✅ 2. 切换到 mysql 系统库
      • ✅ 3. 查看当前 root 用户定义
      • ✅ 4. 修改 root 的 host 为 %
      • ✅ 5. 重新授予权限(现在是合法的)
      • ✅ 6. 验证
    • 远程可视化工具连接看下一篇文章~
    • 🔒 服务器建议(更安全做法):
    • 五、添加防火墙规则
    • 六、进入MySQL命令行管理器
    • 七、可选:配置MySQL远程连接
    • 八、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档