HCEOS2.0安装MySQL8.0.42(二进制安装)
MySQL 8.0 运维指南(基于HCEOS 2.0)
一、安装信息汇总
项目 | 值 |
---|---|
安装方式 | 二进制包安装 |
安装路径 | /usr/local/mysql |
数据目录 | /mnt/sdc/mysql |
端口 | 3411 |
配置文件 | /etc/mysql/my.cnf |
错误日志 | /mnt/sdc/mysql/error.log |
常规日志 | /mnt/sdc/mysql/mysql.log |
慢查询日志 | /mnt/sdc/mysql/slow.log |
系统用户 | mysql:mysql |
时区配置 | Asia/Shanghai (+08:00) |
二、完整安装步骤
0. 时间同步配置
# 安装ntpd时间服务
sudo yum install -y ntpdate
sudo ntpdate pool.ntp.org
1. 安装依赖库
sudo yum install -y libaio numactl ncurses-compat-libs
2. 创建系统用户
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
3. 下载并解压二进制包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz
tar -xvf mysql-8.0.42-linux-glibc2.17-x86_64.tar.xz
sudo mv mysql-8.0.42-linux-glibc2.17-x86_64 /usr/local/mysql
4. 配置数据目录
sudo mkdir -p /mnt/sdc/mysql
sudo chown -R mysql:mysql /mnt/sdc/mysql
sudo chmod 750 /mnt/sdc/mysql
5. 创建配置文件
sudo mkdir /etc/mysql
sudo tee /etc/mysql/my.cnf <<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/mnt/sdc/mysql
socket=/mnt/sdc/mysql/mysql.sock
port=3411
log-error=/mnt/sdc/mysql/error.log
general_log=1
general_log_file=/mnt/sdc/mysql/mysql.log
slow_query_log=1
slow_query_log_file=/mnt/sdc/mysql/slow.log
default-time-zone = '+08:00'
[client]
socket=/mnt/sdc/mysql/mysql.sock
EOF
6. 初始化数据库
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/mnt/sdc/mysql
# 记录初始密码(控制台输出或查看日志)
sudo grep 'temporary password' /mnt/sdc/mysql/error.log
7. 配置启动脚本
sudo cp support-files/mysql.server /etc/init.d/mysqld
sudo sed -i \
-e 's|^basedir=|basedir=/usr/local/mysql|g' \
-e 's|^datadir=|datadir=/mnt/sdc/mysql|g' \
-e 's|--port=3306|--port=3411|g' \
/etc/init.d/mysqld
sudo systemctl enable mysqld
sudo systemctl start mysqld
三、运维命令
1. 服务管理
操作 | 命令 |
---|---|
启动 | sudo systemctl start mysqld |
停止 | sudo systemctl stop mysqld |
重启 | sudo systemctl restart mysqld |
查看状态 | sudo systemctl status mysqld |
2. 登录MySQL
/usr/local/mysql/bin/mysql -uroot -p -P3411 --socket=/mnt/sdc/mysql/mysql.sock
3. 修改配置文件
sudo vi /etc/mysql/my.cnf # 修改后需重启生效
4. 查看日志
日志类型 | 路径 |
---|---|
错误日志 | tail -f /mnt/sdc/mysql/error.log |
常规日志 | tail -f /mnt/sdc/mysql/mysql.log |
慢查询日志 | tail -f /mnt/sdc/mysql/slow.log |
四、安全加固建议
-
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新强密码';
-
远程访问配置(允许root登录)
-- 允许root从任何IP访问(高危!务必设置强密码) CREATE USER 'root'@'%' IDENTIFIED BY '远程专用强密码'; GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
-
关闭常规日志(生产环境)
修改/etc/mysql/my.cnf
:general_log=0
五、备份与恢复
1. 物理备份(推荐)
sudo systemctl stop mysqld
sudo rsync -av /mnt/sdc/mysql /backup/mysql-$(date +%F)
sudo systemctl start mysqld
2. 逻辑备份
/usr/local/mysql/bin/mysqldump -uroot -p -P3411 --all-databases > backup.sql
六、常见问题处理
1. 依赖缺失
# 若出现 libncurses.so.5 错误
sudo yum install -y ncurses-compat-libs
2. 权限问题
sudo chown -R mysql:mysql /mnt/sdc/mysql
3. 无法登录
• 检查 socket 路径:ls -l /mnt/sdc/mysql/mysql.sock
• 检查端口监听:sudo netstat -tulnp | grep 3411
4. 日志时间差
• 验证时区:timedatectl
• 修改时区:sudo timedatectl set-timezone Asia/Shanghai
vim /etc/mysql/my.cnf
default-time-zone = '+08:00'
sudo systemctl restart mysqld
七、附录
• MySQL官方文档:https://dev.mysql.com/doc/
• 二进制包下载:https://dev.mysql.com/downloads/mysql/