在银河麒麟v10 sp1/sp2/sp3上安装mysql 8.0+,须严格匹配x86_64或aarch64架构,彻底卸载mariadb并清理残留,按序安装rpm包或部署arm64专用二进制包,初始化后获取临时密码并启用服务。

在银河麒麟操作系统上安装MySQL数据库,必须先确认系统版本为V10 SP1/SP2/SP3,并严格匹配x86_64或aarch64架构,否则会出现服务启动失败、依赖报错或二进制文件无法执行等致命问题;安装前未清理MariaDB残留或跳过glibc版本校验,将导致初始化直接中断。
环境检查与冲突清理
这一步不能跳过,否则后续所有操作都可能白费。银河麒麟V10默认预装MariaDB,其libmysqlclient.so和/usr/lib64/mysql目录会与MySQL 8.0硬冲突,必须彻底清除。
执行cat /etc/kylin-release确认系统为“Kylin Linux Advanced Server V10”;再运行uname -m,输出必须为【x86_64】或【aarch64】——若为armv7l或其他值,说明不是官方支持的V10 ARM64版本,不可继续安装MySQL 8.0+。
检查3306端口是否空闲:ss -tulnp | grep :3306,若有输出,记下PID并用kill -9 PID强制终止进程。
卸载全部MariaDB相关RPM包:sudo rpm -e --nodeps $(rpm -qa | grep -E 'mariadb|mysql' | grep -v mysql-community);这条命令会一次性清掉mariadb-libs、mariadb-common等关键冲突组件。
删除残留配置与数据:sudo rm -rf /var/lib/mysql /etc/my.cnf /usr/my.cnf;【注意:此操作不可逆,务必确认无重要数据】
RPM Bundle方式安装(x86_64平台首选)
该方法由系统自动解析依赖、注册systemd服务、生成初始密码,适合桌面版及服务器版快速部署,无需手动编译或配置环境变量。
下载对应RPM Bundle包:访问MySQL官网Archive页面,下载mysql-8.0.45-1.el7.x86_64.rpm-bundle.tar(适配麒麟V10 x86_64最稳定)。
解压并进入目录:tar -xf mysql-*.rpm-bundle.tar && cd mysql-;此时目录下应有6个以上RPM文件。
按依赖顺序安装(顺序错误会导致安装失败):
① 先安装common:sudo rpm -ivh mysql-community-common-*.rpm
② 再安装libs:sudo rpm -ivh mysql-community-libs-*.rpm
③ 接着安装client插件与客户端:sudo rpm -ivh mysql-community-client-plugins-*.rpm mysql-community-client-*.rpm
④ 最后安装server核心:sudo rpm -ivh mysql-community-server-*.rpm
初始化数据目录:sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql;初始化成功后,临时root密码会写入/var/log/mysqld.log,立即用sudo grep 'temporary password' /var/log/mysqld.log提取。
启动服务并设为开机自启:sudo systemctl start mysqld && sudo systemctl enable mysqld。
二进制tar.xz包部署(ARM64离线环境专用)
ARM64平台无法运行x86_64二进制包,且麒麟V10 ARM版常处于内网隔离状态,必须使用aarch64专用包,否则mysqld直接报“Exec format error”。
方法一:下载官方aarch64包
从MySQL官网Archived Versions下载mysql-8.3.0-linux-glibc2.28-aarch64.tar.xz;确保glibc版本≥2.28,否则启动时提示“GLIBC_2.28 not found”。
方法二:解压并部署sudo tar -xf mysql-8.3.0-linux-glibc2.28-aarch64.tar.xz -C /usr/local/ → sudo mv /usr/local/mysql-8.3.0-linux-glibc2.28-aarch64 /usr/local/mysql。
创建专用用户:sudo groupadd mysql && sudo useradd -r -g mysql -s /bin/false mysql;这步必须做,否则mysqld --initialize会因权限不足失败。
授权安装目录:sudo chown -R mysql:mysql /usr/local/mysql;【不执行此步,初始化将报错“Can't create test file”】
初始化数据目录:sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data;临时密码输出在/usr/local/mysql/data/*.err末尾行。
配置systemd服务:sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld → 编辑该文件,将basedir=和datadir=两行改为实际路径 → sudo systemctl daemon-reload → sudo systemctl start mysqld。











