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 在银河麒麟操作系统上的离线安装部署手册。如有任何问题,请根据故障排查部分进行处理或寻求进一步帮助。

posted @ 2025-04-22 09:40  皇帽讲绿帽带法技巧  阅读(507)  评论(0)    收藏  举报