☰
麒麟V10系统MySQL 8.0安装与配置实战指南
2026/10/29 4:07:15 网站建设 项目流程

1. 麒麟V10系统与MySQL环境概述

麒麟V10作为国产操作系统的代表版本,其软件生态与常见的CentOS、Ubuntu等Linux发行版存在显著差异。在国产化改造项目中,MySQL作为主流关系型数据库的安装部署成为基础需求。不同于Debian系的apt或RedHat系的yum,麒麟V10采用自研的kydroid软件包管理机制,这对MySQL的安装提出了特殊要求。

我在多个信创项目实践中发现,麒麟V10安装MySQL主要面临三大挑战:依赖库的兼容性问题(特别是glibc版本冲突)、安全模块的权限限制(如SELinux策略)、以及国产CPU架构(如飞腾、龙芯)下的二进制适配。针对这些痛点,本文将详细介绍通过官方源码编译和预编译包两种主流安装方式,并重点解决安装过程中的典型报错。

2. 安装前的系统准备

2.1 硬件与系统环境检查

首先通过uname -m确认CPU架构(常见aarch64或mips64),执行cat /etc/os-release查看系统版本。麒麟V10对内存有较高要求,MySQL 8.0建议至少4GB内存,可通过free -h验证。存储空间需保证/usr/local目录有5GB以上空闲(df -h查看)。

注意:若系统曾安装过MariaDB或其他MySQL分支,必须彻底卸载(rpm -qa | grep -i mysql查找残留包)并删除/var/lib/mysql数据目录,避免冲突。

2.2 依赖库安装

麒麟V10需手动补充这些关键依赖:

sudo kydroid install -y cmake make gcc-c++ ncurses-devel openssl-devel bison libaio

特殊情况下需源码编译安装libtirpc-devel:

wget https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.2.tar.gz tar -zxvf libtirpc-1.3.2.tar.gz cd libtirpc-1.3.2 ./configure --prefix=/usr make && sudo make install

2.3 创建专用用户与目录

为MySQL创建隔离用户并设置目录权限:

sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql sudo mkdir -p /usr/local/mysql /data/mysql sudo chown -R mysql:mysql /usr/local/mysql /data/mysql

3. MySQL 8.0源码编译安装

3.1 源码获取与配置

从MySQL官网下载对应架构的源码包(以8.0.33为例):

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33.tar.gz tar -zxvf mysql-8.0.33.tar.gz cd mysql-8.0.33

配置编译参数(关键优化):

cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysql \ -DWITH_BOOST=boost \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DENABLED_LOCAL_INFILE=1 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci

3.2 编译与安装

启用并行编译加速(根据CPU核心数调整):

make -j$(nproc) && sudo make install

3.3 初始化数据库

执行关键初始化命令:

cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

记录输出的临时root密码(如[Note] A temporary password is generated for root@localhost: JqfkR3m>a8Hw)

4. RPM包安装方案(适用于aarch64架构)

4.1 下载官方RPM包

从MySQL官网获取适合麒麟V10的RPM bundle:

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-1.el7.aarch64.rpm-bundle.tar tar -xvf mysql-8.0.33-1.el7.aarch64.rpm-bundle.tar

4.2 按顺序安装RPM包

sudo rpm -ivh mysql-community-common-8.0.33-1.el7.aarch64.rpm sudo rpm -ivh mysql-community-client-plugins-8.0.33-1.el7.aarch64.rpm sudo rpm -ivh mysql-community-libs-8.0.33-1.el7.aarch64.rpm sudo rpm -ivh mysql-community-client-8.0.33-1.el7.aarch64.rpm sudo rpm -ivh mysql-community-icu-data-files-8.0.33-1.el7.aarch64.rpm sudo rpm -ivh mysql-community-server-8.0.33-1.el7.aarch64.rpm

4.3 解决依赖冲突

若出现libcrypto.so.10缺失错误,需创建软链接:

sudo ln -s /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.10 sudo ldconfig

5. 数据库配置与优化

5.1 基础配置文件

编辑/etc/my.cnf(关键参数示例):

[mysqld] datadir=/data/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid # 性能优化 innodb_buffer_pool_size=2G innodb_log_file_size=512M max_connections=500 thread_cache_size=32 table_open_cache=4000

5.2 服务管理与开机启动

创建systemd服务文件/usr/lib/systemd/system/mysqld.service:

[Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE=65535 Restart=always [Install] WantedBy=multi-user.target

启用服务:

sudo systemctl daemon-reload sudo systemctl enable mysqld sudo systemctl start mysqld

6. 安全加固与连接测试

6.1 修改root密码

使用初始化时的临时密码登录:

/usr/local/mysql/bin/mysql -uroot -p

执行安全策略:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; FLUSH PRIVILEGES;

6.2 创建应用账户

CREATE USER 'appuser'@'%' IDENTIFIED BY 'Complex@123'; GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'%';

6.3 防火墙配置

开放3306端口:

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload

7. 常见问题解决方案

7.1 启动报错排查

若服务启动失败,按顺序检查:

  1. 查看错误日志:tail -100 /var/log/mysqld.log
  2. 验证目录权限:ls -ld /data/mysql
  3. 检测端口冲突:netstat -tulnp | grep 3306

7.2 字符集问题处理

若出现中文乱码,确认全局字符集:

SHOW VARIABLES LIKE 'character_set%';

必要时在my.cnf添加:

[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4

7.3 性能调优建议

针对国产CPU的特别优化:

innodb_flush_neighbors=0 innodb_io_capacity=2000 innodb_read_io_threads=8 innodb_write_io_threads=8

8. 运维管理进阶技巧

8.1 备份恢复方案

推荐使用mysqldump每日全备:

/usr/local/mysql/bin/mysqldump -uroot -p --all-databases --single-transaction | gzip > /backup/mysql_$(date +%F).sql.gz

8.2 监控配置

安装Percona监控插件:

INSTALL PLUGIN pmm_client SONAME 'pmm_client.so';

8.3 国产化替代方案

如需完全国产化,可考虑:

  1. 使用GreatSQL分支(针对ARM优化)
  2. 配置达梦数据库作为备库

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询