在银河麒麟V10上安装MySQL必须先确认系统版本为V10、CPU架构为x86_64或aarch64,彻底清除MariaDB残留并释放3306端口,否则初始化会因权限或共享库冲突失败;x86_64用glibc2.28二进制包部署,aarch64须用ARM64包并处理libtinfo兼容性,最后配置systemd服务启动。

在银河麒麟V10系统上安装MySQL数据库服务,必须先确认系统版本为V10、CPU架构为x86_64或aarch64,再彻底清除MariaDB残留、释放3306端口,否则mysqld进程会因共享库冲突或目录权限问题直接退出,初始化失败时连错误日志都写不全。
确认系统环境与清理冲突组件
执行cat /etc/kylin-release,输出中必须含“V10”字样;再运行uname -m,结果只能是x86_64或aarch64——若为armv7l等非标准ARM,则本文方法不适用。
检查3306端口是否被占用:ss -tulnp | grep :3306,若有输出,记下PID并执行kill -9 PID终止进程。
【必须彻底卸载MariaDB残留,否则后续初始化会因/var/lib/mysql权限或共享库冲突而失败】运行rpm -qa | grep -E 'mariadb|mysql' | xargs -r rpm -e --nodeps,强制清除所有相关RPM包。
删除残留配置与数据:rm -rf /var/lib/mysql /etc/my.cnf /usr/my.cnf /usr/bin/mysql*;清除用户与组:userdel -r mysql 2>/dev/null && groupdel mysql 2>/dev/null。
x86_64架构:通用二进制包部署
该方式绕过RPM依赖解析,适配性强,适合生产环境且无需联网构建,避免yum源不可用导致的失败。
第一步:下载适配glibc2.28的MySQL 8.0.45包:wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.45-linux-glibc2.28-x86_64.tar.xz。
第二步:解压并规范重命名:tar -xf mysql-8.0.45-linux-glibc2.28-x86_64.tar.xz -C /usr/local/ && mv /usr/local/mysql-8.0.45-linux-glibc2.28-x86_64 /usr/local/mysql。
面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。
第三步:创建专用运行用户:groupadd mysql && useradd -r -g mysql -s /bin/false mysql;这比用root跑更安全,也符合systemd服务单元要求。
第四步:设置归属与权限:chown -R mysql:mysql /usr/local/mysql;【必须执行,否则初始化时提示“Permission denied”】。
第五步:初始化数据目录:/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --character-set-server=utf8mb4;临时root密码会打印在错误日志末行,立即执行tail -1 /usr/local/mysql/data/*.err查看并记录。
aarch64架构:ARM64专用包安装
ARM64架构不能运行x86_64包,否则执行时直接报“Exec format error”,必须选用对应ARM64包。
方法一:使用官方ARM64二进制包
下载链接:wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.45-linux-glibc2.28-aarch64.tar.xz;解压路径与x86_64一致,但需额外检查libtinfo兼容性:ldconfig -p | grep libtinfo;若仅显示libtinfo.so.6而无libtinfo.so.5,则执行ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5。
方法二:使用离线deb包(适用于麒麟桌面版)
安装命令:sudo dpkg -i mysql-server_8.0.45-1debian11_arm64.deb;若提示依赖缺失,补装:sudo apt install -f。
初始化后,统一执行:sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld → 编辑该文件,设置basedir=/usr/local/mysql和datadir=/usr/local/mysql/data → 执行sudo chkconfig --add mysqld && sudo systemctl daemon-reload → 启动服务:sudo systemctl start mysqld。

















