麒麟OS部署MySQL失败主因是架构错配、MariaDB残留、依赖缺失或路径不匹配;须按APT、RPM、二进制或Docker四类方式,严格匹配V10 SP1/SP2/SP3及x86_64/aarch64架构实施安装与配置。

如果您在麒麟操作系统上尝试部署MySQL数据库,但安装失败、服务无法启动或出现依赖报错,则很可能是由于系统架构识别错误、旧数据库残留冲突、关键共享库缺失或配置路径不匹配所致。以下是针对麒麟OS主流版本(银河麒麟V10 SP1/SP2/SP3,含x86_64与aarch64双架构)的多种MySQL安装与基础开发环境配置方法:
一、APT包管理器安装(适用于麒麟V10桌面版及Debian系兼容版本)
该方式利用系统预置软件源自动解析依赖并完成初始化,适合开发测试环境快速搭建,无需手动处理库文件与用户权限。
1、打开终端,更新软件包索引:sudo apt update
2、安装MySQL服务器核心组件:sudo apt install mysql-server -y
3、安装完成后服务将自动启动;验证运行状态:sudo systemctl status mysql
4、若服务未激活,执行启动并设为开机自启:sudo systemctl start mysql && sudo systemctl enable mysql
5、运行安全初始化向导:sudo mysql_secure_installation,按提示设置root密码强度、移除匿名用户、禁用远程root登录等
二、RPM包手动安装(适用于银河麒麟高级服务器V10,RHEL/CentOS兼容型)
该方式使用MySQL官方RPM包,确保与systemd、SELinux及glibc深度集成,适用于对审计合规性有要求的开发与准生产环境。
1、强制卸载所有MariaDB及旧MySQL相关RPM包:sudo rpm -e --nodeps $(rpm -qa | grep -E 'mariadb|mysql' | grep -v mysql-community)
2、安装必需运行时依赖:sudo dnf install -y libaio numactl openssl-devel perl-Data-Dumper
3、从MySQL官网下载对应架构RPM包(例如8.0.39):wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-community-server-8.0.39-1.el8.x86_64.rpm
4、按依赖顺序安装:先common、再libs、client,最后server:sudo rpm -ivh mysql-community-common-8.0.39-1.el8.x86_64.rpm
5、继续安装客户端与服务端:sudo rpm -ivh mysql-community-client-8.0.39-1.el8.x86_64.rpm mysql-community-server-8.0.39-1.el8.x86_64.rpm
6、初始化数据目录:sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql
7、启动服务并查看临时root密码:sudo systemctl start mysqld && sudo grep 'temporary password' /var/log/mysqld.log
三、官方二进制包部署(适用于ARM64离线环境或x86_64定制化部署)
该方式绕过包管理器依赖解析,直接解压运行,适用于无网络环境、需指定安装路径或需多实例隔离的开发场景。
1、确认CPU架构为aarch64或x86_64:uname -m
2、下载Linux-Generic二进制包(如mysql-8.0.33-linux-glibc2.17-aarch64.tar.xz)并解压至/usr/local:sudo tar xf mysql-8.0.33-linux-glibc2.17-aarch64.tar.xz -C /usr/local/
3、重命名目录并创建mysql用户:sudo mv /usr/local/mysql-8.0.33-linux-glibc2.17-aarch64 /usr/local/mysql && sudo groupadd mysql && sudo useradd -r -g mysql -s /bin/false mysql
4、设置目录权限:sudo chown -R mysql:mysql /usr/local/mysql && sudo chmod -R 755 /usr/local/mysql
5、创建数据目录并初始化:sudo mkdir -p /usr/local/mysql/data && sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data
6、生成systemd服务文件并启用:sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql && sudo systemctl daemon-reload
7、启动服务:sudo service mysql start
四、Docker容器化部署(适用于全架构快速验证与隔离开发)
该方式不修改宿主机环境,通过标准镜像封装运行时依赖,适合微服务开发、CI/CD集成及多版本并行调试。
1、确认Docker已安装并运行:sudo systemctl status docker
2、拉取指定版本MySQL镜像:sudo docker pull mysql:8.0.33
3、创建持久化数据目录:sudo mkdir -p /opt/mysql/data
4、运行容器并映射关键参数:sudo docker run -d --name mysql8 -p 3306:3306 -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=YourPass123 -e MYSQL_DATABASE=testdb --restart=always mysql:8.0.33
5、验证容器状态:sudo docker ps | grep mysql8
6、进入容器执行SQL命令:sudo docker exec -it mysql8 mysql -uroot -p


















