MySQL 5.7 离线安装部署手册(银河麒麟版)
MySQL 5.7 离线安装部署手册(银河麒麟版)
系统环境要求
- 操作系统:银河麒麟高级服务器版 V10
- CPU 架构:x86_64(适配其他架构需更换二进制包)
- 可用磁盘空间:至少 5GB
- 内存:建议 2GB 以上
一、准备工作
1.1 卸载 MariaDB
检查是否已安装 MariaDB:
rpm -qa | grep mariadb
卸载所有 MariaDB 相关包:
sudo yum remove mariadb* -y
1.2 安装依赖包
安装 MySQL 所需的依赖包:
sudo yum install -y gcc gcc-c++ cmake ncurses-devel bison openssl-devel rpcgen libaio
二、MySQL 安装部署
2.1 下载二进制包
使用 wget 下载 MySQL 5.7 的二进制包:
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.gz
mv mysql-5.7.42-linux-glibc2.12-x86_64 /opt/mysql-5.7.42
2.3 创建系统用户
创建 mysql 用户和组:
sudo groupadd mysql
sudo useradd -g mysql -s /sbin/nologin -M mysql
2.4 目录结构配置
创建 MySQL 数据、日志和运行目录:
sudo mkdir -p /mysqlapp/mysql/{data,log,run}
sudo chown -R mysql:mysql /mysqlapp/mysql
2.5 移动文件
将解压后的文件移动到目标目录:
sudo mv /opt/mysql-5.7.42/* /mysqlapp/mysql/
三、数据库初始化
3.1 环境变量配置
将 MySQL 的 bin 目录添加到 PATH:
echo 'export PATH=/mysqlapp/mysql/bin:$PATH' | sudo tee -a /etc/profile
source /etc/profile
3.2 初始化数据库
初始化 MySQL 数据库:
cd /mysqlapp/mysql/bin
sudo -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
四、配置文件设置
4.1 创建配置文件
创建 MySQL 配置文件 /etc/my.cnf
:
sudo tee /etc/my.cnf <<'EOF'
[mysqld]
port=3306
user=mysql
basedir=/mysqlapp/mysql
datadir=/mysqlapp/mysql/data
socket=/mysqlapp/mysql/run/mysql.sock
log-error=/mysqlapp/mysql/log/mysql-error.log
pid-file=/mysqlapp/mysql/run/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
max_connections=500
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
[client]
socket=/mysqlapp/mysql/run/mysql.sock
EOF
4.2 设置文件权限
设置配置文件权限:
sudo chmod 644 /etc/my.cnf
sudo chown mysql:mysql /mysqlapp/mysql/log/mysql-error.log
五、服务管理
5.1 创建 Systemd 服务
创建 MySQL Systemd 服务文件 /etc/systemd/system/mysqld.service
:
sudo tee /etc/systemd/system/mysqld.service <<'EOF'
[Unit]
Description=MySQL Server
After=network.target
[Service]
User=mysql
Group=mysql
Type=forking
ExecStart=/mysqlapp/mysql/support-files/mysql.server start
ExecStop=/mysqlapp/mysql/support-files/mysql.server stop
ExecReload=/mysqlapp/mysql/support-files/mysql.server restart
PIDFile=/mysqlapp/mysql/run/mysqld.pid
[Install]
WantedBy=multi-user.target
EOF
5.2 启动服务
重新加载 Systemd 配置并启动 MySQL 服务:
sudo systemctl daemon-reload
sudo systemctl enable mysqld
sudo systemctl start mysqld
六、安全配置
6.1 修改 root 密码
连接 MySQL 并修改 root 密码:
mysql -u root -p
# 输入初始化时的临时密码
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zyl#2024';
FLUSH PRIVILEGES;
6.2 防火墙配置
允许 MySQL 端口通过防火墙:
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
七、验证安装
7.1 服务状态检查
检查 MySQL 服务状态:
systemctl status mysqld
7.2 连接测试
测试连接 MySQL:
mysql -u root -p -e "SELECT VERSION();"
八、故障排查
常见问题处理:
-
启动失败:
tail -n 50 /mysqlapp/mysql/log/mysql-error.log
-
忘记 root 密码:
systemctl stop mysqld mysqld_safe --skip-grant-tables & mysql -u root # 执行密码修改后重启服务
-
端口冲突:
netstat -tunlp | grep 3306
附录:目录结构说明
/mysqlapp/mysql
├── bin # 可执行文件
├── data # 数据库文件
├── log # 日志目录
│ └── mysql-error.log # 错误日志
└── run # 运行时文件
ln -s /usr/lib64/libncures.so.6 /usr/lib64/libncurses.so.5
以上就是 MySQL 5.7 在银河麒麟操作系统上的离线安装部署手册。如有任何问题,请根据故障排查部分进行处理或寻求进一步帮助。
迷茫的人生,需要不断努力,才能看清远方模糊的志向!