必须先确认系统为银河麒麟v10且架构为x86_64或aarch64,再彻底卸载mariadb残留、安装对应架构依赖库,最后按架构选用官方二进制包部署并配置my.cnf与systemd服务。

在银河麒麟系统上安装MySQL数据库,必须先确认系统版本为V10且CPU架构匹配(x86_64或aarch64),否则直接运行不兼容的安装包会导致mysqld启动失败、报“not found”或立即退出;不同架构对应完全不同的安装路径与依赖处理方式,不能混用。
确认系统环境与清理冲突组件
执行cat /etc/kylin-release确认是银河麒麟V10系列;再运行uname -m,输出必须为x86_64或aarch64——若为armv7l等非标准ARM,则需源码编译,本文不覆盖。
检查3306端口是否被占用:ss -tulnp | grep :3306,若返回结果非空,记下PID并用kill -9 PID终止进程。
强制卸载所有MariaDB及旧MySQL残留:rpm -qa | grep -E 'mariadb|mysql' | xargs -r rpm -e --nodeps;这一步不做干净,后续初始化会因/var/lib/mysql目录权限或共享库冲突而失败。
删除残留配置与数据:rm -rf /var/lib/mysql /etc/my.cnf /usr/my.cnf /usr/bin/mysql*;【不删干净会导致mysqld拒绝初始化,报错“Found existing installation in /var/lib/mysql”】
清除用户与组:userdel -r mysql 2>/dev/null && groupdel mysql 2>/dev/null,避免后续创建同名用户时报错。
方法一:x86_64架构推荐——通用二进制包部署
下载适配glibc版本的MySQL 8.0+二进制包:wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.45-linux-glibc2.28-x86_64.tar.xz(注意链接中含glibc2.28和x86_64)。
解压并规范部署: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。
创建专用运行用户: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查看并记录。
方法二:ARM64架构专用——离线tar.xz包安装
仅适用于uname -m输出为aarch64的银河麒麟V10 ARM版;x86_64包在此架构下直接执行会报“Exec format error”。
下载ARM专用包:wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.45-linux-glibc2.28-aarch64.tar.xz;注意文件名含aarch64而非x86_64。
解压重命名:tar -xf mysql-8.0.45-linux-glibc2.28-aarch64.tar.xz -C /usr/local/ && mv /usr/local/mysql-8.0.45-linux-glibc2.28-aarch64 /usr/local/mysql。
创建用户并授权:groupadd mysql && useradd -r -g mysql -s /bin/false mysql && chown -R mysql:mysql /usr/local/mysql。
ARM平台需额外补一个符号链接,否则启动时报“libtinfo.so.5: cannot open shared object file”:ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5。
初始化命令与x86_64一致,但务必指定ARM可用的数据目录路径:/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql。
配置服务并启动MySQL
复制服务脚本:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld。
编辑/etc/init.d/mysqld,将basedir=和datadir=两行改为实际路径:basedir=/usr/local/mysql,datadir=/usr/local/mysql/data。
注册服务并重载配置:chmod +x /etc/init.d/mysqld && chkconfig --add mysqld && systemctl daemon-reload。
启动服务:service mysqld start;验证状态:service mysqld status,看到active (running)即成功。
首次登录使用初始化时生成的临时密码:/usr/local/mysql/bin/mysql -u root -p,回车后粘贴密码;登录后立即执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPass123!';修改密码。











