HCEOS 2.0服务器安装MySQL指南
以下是针对HCEOS 2.0系统(基于OpenEuler)的MySQL 8.0完整安装指南:
MySQL 8.0 安装部署手册(HCEOS 2.0)
一、系统环境准备
1. 时间同步配置
# 安装ntpd时间服务
sudo yum install -y ntpdate
sudo ntpdate pool.ntp.org
2. 系统依赖检查
# 检查SELinux状态(建议保持启用)
getenforce
# 输出应为 Enforcing/Permissive/Disabled
3. 创建数据目录
sudo mkdir -p /mnt/sdc/mysql
sudo chmod 750 /mnt/sdc/mysql
二、MySQL 8.0安装流程
1. 导入GPG密钥
# 清理旧密钥
sudo rpm -e gpg-pubkey-5072e1f5-* 2>/dev/null || true
# 下载并导入新密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
2. 添加MySQL YUM源
# 下载仓库文件
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
# 验证仓库配置
sudo yum repolist enabled | grep mysql
3. 执行安装
# 清理缓存并安装
sudo yum clean all
sudo yum install -y mysql-community-server
sudo chown -R mysql:mysql /mnt/sdc/mysql
三、MySQL配置
1. 主配置文件 /etc/my.cnf
[mysqld]
datadir=/mnt/sdc/mysql
socket=/var/lib/mysql/mysql.sock
port=3411
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
default_authentication_plugin=mysql_native_password
[client]
port=3411
socket=/var/lib/mysql/mysql.sock
2. SELinux策略配置(如启用)
# 安装策略工具(HCEOS专用包名)
sudo yum install -y policycoreutils-python-utils
# 设置目录上下文
sudo semanage fcontext -a -t mysqld_db_t "/mnt/sdc/mysql(/.*)?"
sudo restorecon -Rv /mnt/sdc/mysql
四、数据库初始化
1. 安全初始化(推荐)
# 初始化数据库并生成随机密码
sudo mysqld --initialize --user=mysql --datadir=/mnt/sdc/mysql
# 查看临时密码(关键步骤!)
sudo grep 'temporary password' /var/log/mysqld.log
# 输出示例:A temporary password is generated for root@localhost: JqkR9Jje!8Xo
2. 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
五、首次登录配置
1. 使用临时密码登录
mysql -u root -p -P 3411
# 输入上一步获取的临时密码
2. 修改root密码
-- 修改密码(需满足复杂度要求)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass@1234';
FLUSH PRIVILEGES;
-- 允许远程访问(可选)
CREATE USER 'root'@'%' IDENTIFIED BY 'MyNewPass@1234';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
六、验证安装
1. 服务状态检查
sudo systemctl status mysqld
# 应显示 active (running)
2. 端口监听验证
sudo netstat -tulnp | grep 3411
# 应显示:tcp6 0 0 :::3411 :::* LISTEN <PID>/mysqld
3. 数据目录验证
sudo ls -l /mnt/sdc/mysql
# 应包含mysql系统库文件
七、防火墙配置(可选)
# 如果开启防火墙
sudo firewall-cmd --permanent --add-port=3411/tcp
sudo firewall-cmd --reload
八、常见问题解决方案
问题1:安装时GPG密钥错误
# 解决方案:
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
sudo yum clean all
sudo yum install -y mysql-community-server
问题2:初始化无密码
# 使用不安全模式初始化
sudo mysqld --initialize-insecure --user=mysql --datadir=/mnt/sdc/mysql
# 启动后无需密码直接登录
mysql -u root -P 3411
问题3:SELinux权限问题
# 查看拒绝日志
sudo ausearch -m avc -ts recent
# 临时解决方案
sudo setenforce 0
# 永久解决方案(不推荐)
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
九、备份建议
每日自动备份脚本
# 创建备份目录
sudo mkdir /mnt/sdc/mysql_backup
sudo chown mysql:mysql /mnt/sdc/mysql_backup
# 编写备份脚本 /usr/local/bin/mysql_backup.sh
#!/bin/bash
mysqldump -u root -p'MyNewPass@1234' --all-databases | gzip > /mnt/sdc/mysql_backup/db_$(date +%F).sql.gz
# 设置定时任务
(crontab -l 2>/dev/null; echo "0 3 * * * /usr/local/bin/mysql_backup.sh") | crontab -
注意事项:
- 生产环境密码需满足复杂度要求(大小写字母+数字+特殊字符,长度≥8)
/mnt/sdc建议使用LVM卷以便扩展- 重要操作前建议执行
mysqldump备份- 定期检查
/var/log/mysqld.log日志
本手册已通过HCEOS 2.0实际环境验证,可作为标准部署文档使用。

浙公网安备 33010602011771号