银河麒麟服务器整理的MySQL 5.7安装部署
MySQL 5.7 离线安装部署手册(银河麒麟版)
系统环境要求
操作系统:银河麒麟高级服务器版V10
CPU架构:x86_64(适配其他架构需更换二进制包)
可用磁盘空间:至少5GB
内存:建议2GB以上
一、准备工作
1.1 卸载MariaDB
# 检查已安装的MariaDBrpm -qa | grep mariadb# 卸载所有MariaDB相关包sudo yum remove mariadb* -y1.2 安装依赖包
sudo yum install -y gcc gcc-c++ cmake ncurses-devel \bison openssl-devel rpcgen libaio二、MySQL安装部署
2.1 下载二进制包
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz注意:如果下载地址失效,请从MySQL官网获取最新二进制包
2.2 解压安装
tar -zxvf mysql-5.7.42-linux-glibc2.12-x86_64.tar.gzmv mysql-5.7.42-linux-glibc2.12-x86_64 /opt/mysql-5.7.422.3 创建系统用户
sudo groupadd mysqlsudo useradd -g mysql -s /sbin/nologin -M mysql2.4 目录结构配置
sudo mkdir -p /mysqlapp/mysql/{data,log,run}sudo chown -R mysql:mysql /mysqlapp/mysql2.5 移动文件
sudo mv /opt/mysql-5.7.42/* /mysqlapp/mysql/三、数据库初始化
3.1 环境变量配置
echo 'export PATH=/mysqlapp/mysql/bin:$PATH' | sudo tee -a /etc/profilesource /etc/profile3.2 初始化数据库
cd /mysqlapp/mysql/binsudo -u mysql ./mysqld --initialize \--user=mysql \--basedir=/mysqlapp/mysql \--datadir=/mysqlapp/mysql/data \--log-error=/mysqlapp/mysql/log/mysql-error.log重要:记录输出的临时root密码,格式示例:[Note] A temporary password is generated for root@localhost: xxxxxx
文件在/mysqlapp/mysql/log/mysql-error.log,然后搜索“A temporary password”
四、配置文件设置
4.1 创建配置文件
sudo tee /etc/my.cnf <<'EOF'[mysqld]port=3306user=mysqlbasedir=/mysqlapp/mysqldatadir=/mysqlapp/mysql/datasocket=/mysqlapp/mysql/run/mysql.socklog-error=/mysqlapp/mysql/log/mysql-error.logpid-file=/mysqlapp/mysql/run/mysqld.pidcharacter-set-server=utf8mb4collation-server=utf8mb4_general_cimax_connections=500default-storage-engine=INNODBsql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION[client]socket=/mysqlapp/mysql/run/mysql.sockEOF4.2 设置文件权限
sudo chmod 644 /etc/my.cnfsudo chown mysql:mysql /mysqlapp/mysql/log/mysql-error.log五、服务管理
5.1 创建Systemd服务
sudo tee /etc/systemd/system/mysqld.service <<'EOF'[Unit]Description=MySQL ServerAfter=network.target[Service]User=mysqlGroup=mysqlType=forkingExecStart=/mysqlapp/mysql/support-files/mysql.server startExecStop=/mysqlapp/mysql/support-files/mysql.server stopExecReload=/mysqlapp/mysql/support-files/mysql.server restartPIDFile=/mysqlapp/mysql/run/mysqld.pid[Install]WantedBy=multi-user.targetEOF5.2 启动服务
sudo systemctl daemon-reloadsudo systemctl enable mysqldsudo systemctl start mysqld六、安全配置
6.1 修改root密码
mysql -u root -p# 输入初始化时的临时密码# 修改密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zyl#2024';FLUSH PRIVILEGES;6.2 防火墙配置
sudo firewall-cmd --permanent --add-port=3306/tcpsudo firewall-cmd --reload七、验证安装
7.1 服务状态检查
systemctl status mysqld7.2 连接测试
mysql -u root -p -e "SELECT VERSION();"八、故障排查
常见问题处理:
启动失败:
tail -n 50 /mysqlapp/mysql/log/mysql-error.log忘记root密码:
systemctl stop mysqldmysqld_safe --skip-grant-tables &mysql -u root# 执行密码修改后重启服务端口冲突:
netstat -tunlp | grep 3306附录:目录结构说明
/mysqlapp/mysql├── bin# 可执行文件├── data# 数据库文件├── log# 日志目录│└── mysql-error.log# 错误日志└── run# 运行时文件