2025最新OpenEuler系统安装MySQL的详细教程_openeuler安装mysql
2025最新OpenEuler系统安装MySQL的详细教程
一、环境准备
- 操作系统:OpenEuler 22.03 LTS-SP2 或更新版本
- 用户权限:需要root权限
- 网络连接:确保能连接openEuler源或配好本地repo
作者✍️提示:如果你是全新环境,可先执行
dnf makecache
构建本地缓存
作者✍️
猫头虎微信号:Libin9iOak
公众台:猫头虎技术团队
万粉变现经纪人:CSDNWF
文章目录
- 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远程连接
- 八、总结
二、查看官方源中MySQL支持情况
使用以下命令查看是否有 MySQL 相关包:
dnf search mysql-server
如果显示有 mysql-server
等包,说明已经支持
三、安装MySQL
sudo dnf install -y mysql-server
等待安装完成后,启动MySQL服务:
sudo systemctl start mysqld
设置开机自启:
sudo systemctl enable mysqld
查看服务状态:
systemctl status mysqld
作者✍️提示:如果出现 “Active: active (running)” 则说明安装成功
四、初始化密码和安全配置
✅ 解决方案:重置 MySQL root 密码(兼容MySQL 8 on openEuler)
✅ 第一步:停止 mysqld 服务
sudo systemctl stop mysqld
✅ 第二步:使用“跳过授权表”模式启动 MySQL(临时无密码)
sudo mysqld --skip-grant-tables --skip-networking --user=mysql &
☑️ 注意:此命令将在前台运行,终端会被占用。建议 开另一个终端窗口或使用 SSH 登录新会话 继续后续操作。
✅ 第三步:无密码登录 MySQL
在另一个终端输入:
mysql -u root
进入 MySQL shell 后执行:
FLUSH PRIVILEGES;ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'openEuler&2025\';FLUSH PRIVILEGES;EXIT;
或者某些 MySQL 8 版本需要用下面的语法:
ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'NewSecurePwd8!\';
完成后输入:
EXIT;
✅ 第四步:恢复正常启动服务
回到原终端,按 Ctrl + C
停止前台 mysqld_safe
,然后:
sudo systemctl start mysqld
现在你可以正常使用新密码登录:
mysql -u root -p
重要‼️步骤:设置远程访问权限
ERROR 1410 (42000): You are not allowed to create a user with GRANT
✅ 1. 登录 MySQL(已登录可跳过)
mysql -u root
✅ 2. 切换到 mysql
系统库
USE mysql;
✅ 3. 查看当前 root 用户定义
SELECT Host, User FROM user WHERE User = \'root\';
你应该会看到:
+-----------+------+| Host | User |+-----------+------+| localhost | root |+-----------+------+
✅ 4. 修改 root 的 host 为 %
UPDATE user SET Host=\'%\' WHERE User=\'root\' AND Host=\'localhost\';FLUSH PRIVILEGES;
✅ 5. 重新授予权限(现在是合法的)
GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' WITH GRANT OPTION;FLUSH PRIVILEGES;
✅ 6. 验证
SELECT Host, User FROM user WHERE User = \'root\';
应该输出:
+------+------+| Host | User |+------+------+| % | root |+------+------+
远程可视化工具连接看下一篇文章~
🔒 服务器建议(更安全做法):
- 保留 root@localhost(仅供本地登录)
- 新建远程用户,而不是扩展 root 权限,例如:
CREATE USER \'devadmin\'@\'%\' IDENTIFIED BY \'StrongDev#2025\';GRANT ALL PRIVILEGES ON *.* TO \'devadmin\'@\'%\' WITH GRANT OPTION;
五、添加防火墙规则
如果需让外网或同网段的服务器连接MySQL,需打开3306端口:
firewall-cmd --permanent --add-port=3306/tcpfirewall-cmd --reload
六、进入MySQL命令行管理器
mysql -u root -p
输入新密码后即可进入MySQL管理界面
作者✍️提示:可使用
SHOW DATABASES;
查看数据库列表,或创建新数据库、用户
七、可选:配置MySQL远程连接
- 修改配置文件
/etc/my.cnf
:
[mysqld]bind-address=0.0.0.0
- 重启MySQL服务:
systemctl restart mysqld
- 授权远程用户:
CREATE USER \'admin\'@\'%\' IDENTIFIED BY \'yourpassword\';GRANT ALL PRIVILEGES ON *.* TO \'admin\'@\'%\' WITH GRANT OPTION;FLUSH PRIVILEGES;
作者✍️提示:生产环境不建议接受全网段连接,请配合防火墙或VPN系统保障
八、总结
通过上述步骤,你已经成功在OpenEuler系统上安装并启用MySQL,同时可选配置防火墙和远程连接。
作者✍️
猫头虎微信号:Libin9iOak
公众台:猫头虎技术团队
万粉变现经纪人:CSDNWF