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 -

注意事项

  1. 生产环境密码需满足复杂度要求(大小写字母+数字+特殊字符,长度≥8)
  2. /mnt/sdc 建议使用LVM卷以便扩展
  3. 重要操作前建议执行 mysqldump 备份
  4. 定期检查 /var/log/mysqld.log 日志

本手册已通过HCEOS 2.0实际环境验证,可作为标准部署文档使用。

posted @ 2025-04-15 15:58  wangwenzhe  阅读(38)  评论(0)    收藏  举报