麒麟OS如何安装MySQL数据库 麒麟系统数据库环境配置【指南】

浅浩君_7960

浅浩君_7960

2026-04-13

595人浏览

原创

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

麒麟os如何安装mysql数据库 麒麟系统数据库环境配置【指南】

如果您在麒麟OS上尝试部署MySQL数据库,但遇到依赖冲突、架构不匹配或服务无法启动等问题,则很可能是由于安装前未进行系统环境适配与组件清理。以下是针对麒麟OS(含V10 SP1/SP2/SP3及ARM/x86_64双架构)的MySQL数据库安装与基础环境配置操作步骤:

一、系统环境确认与预检查

该步骤用于验证操作系统版本、硬件架构及关键端口状态,避免因架构错配或端口占用导致后续安装失败。必须确保系统为银河麒麟V10系列且架构与MySQL安装包严格一致。

1、执行命令查看系统发行版信息:cat /etc/kylin-release

2、执行命令确认CPU架构:uname -m(输出必须为x86_64或aarch64)

3、检查3306端口是否被占用:ss -tulnp | grep :3306,若返回非空结果,需先终止对应进程

4、校验glibc版本是否满足要求:ldd --version(x86_64平台需≥glibc 2.17,ARM平台需≥glibc 2.28)

二、冲突组件彻底卸载

银河麒麟V10默认可能预装MariaDB或旧版MySQL相关包,其共享库、服务名及数据目录会与MySQL 8.0产生硬冲突,必须强制清除所有残留。

1、列出所有MariaDB和MySQL相关RPM包:rpm -qa | grep -E 'mariadb|mysql'

2、对每个查出的包执行强制卸载:rpm -e --nodeps (例如:rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64)

3、删除残留数据目录:rm -rf /var/lib/mysql /etc/my.cnf /usr/my.cnf

4、清空用户与组信息(如存在):userdel -r mysql && groupdel mysql

三、核心依赖库安装

MySQL 8.0运行依赖特定版本的底层库,缺失或版本过低将导致mysqld启动时直接报错“not found”或“symbol lookup error”。需按架构分别处理。

1、对于x86_64平台,执行以下命令安装全部必需依赖:yum install -y libaio-devel numactl-devel perl-Data-Dumper openssl-devel net-tools wget

2、对于ARM平台(aarch64),额外检查libtinfo兼容性:ldconfig -p | grep libtinfo;若仅显示libtinfo.so.6而无libtinfo.so.5,则创建符号链接:ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5

3、验证libaio版本是否达标:rpm -q libaio;若低于0.3.112,需手动升级至适配版本

四、MySQL二进制包部署(x86_64架构)

采用官方Linux-Generic二进制包可绕过RPM依赖解析问题,适用于所有麒麟V10 x86_64版本,是生产环境首选方式。

1、下载MySQL 8.0.36或更高LTS版本压缩包:wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz

2、解压并重命名为mysql:tar -xf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz && mv mysql-8.0.36-linux-glibc2.28-x86_64 mysql

3、移动至标准路径:mv mysql /usr/local/

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

4、创建专用用户与权限隔离:groupadd mysql && useradd -r -g mysql -s /bin/false mysql

5、设置目录属主:chown -R mysql:mysql /usr/local/mysql && chmod -R 755 /usr/local/mysql

五、MySQL二进制包部署(ARM架构)

ARM平台必须使用专为aarch64构建的二进制包,否则将出现“Exec format error”。推荐优先选用华为云或阿里云镜像站提供的适配包,稳定性优于官网通用包。

1、从华为云镜像站下载ARM专用包:wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-8.0.33-linux-glibc2.28-aarch64.tar.xz

2、解压并迁移:tar -xf mysql-8.0.33-linux-glibc2.28-aarch64.tar.xz && mv mysql-8.0.33-linux-glibc2.28-aarch64 /usr/local/mysql

3、初始化数据目录:/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

4、生成临时root密码后,立即记录输出行中A temporary password is generated for root@localhost: xxxxxx后的字符串

六、配置文件my.cnf初始化

标准配置文件决定MySQL服务监听地址、字符集、日志路径等核心行为,必须按麒麟OS安全规范设定权限与路径。

1、创建配置目录:mkdir -p /etc/mysql

2、创建并编辑配置文件:vim /etc/mysql/my.cnf

3、写入以下内容(注意:datadir与socket路径必须与实际部署路径完全一致):[mysqld]\nbasedir = /usr/local/mysql\ndatadir = /usr/local/mysql/data\nsocket = /usr/local/mysql/binlog/mysql.sock\npid-file = /usr/local/mysql/data/mysql.pid\nport = 3306\nbind-address = 0.0.0.0\ncharacter_set_server = utf8mb4\nlower_case_table_names = 1\nlog-error = /usr/local/mysql/data/mysql.err\nserver_id = 1\nsymbolic-links = 0\n[client]\nsocket = /usr/local/mysql/binlog/mysql.sock\nport = 3306

4、创建socket目录并授权:mkdir -p /usr/local/mysql/binlog && chown mysql:mysql /usr/local/mysql/binlog

七、服务注册与首次启动

通过systemd托管MySQL服务可实现开机自启与统一状态管理,配置单元文件是麒麟OS下标准运维实践。

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

2、填入以下内容:[Unit]\nDescription=MySQL Server\nDocumentation=man:mysqld(8)\nAfter=network.target\n[Service]\nType=forking\nUser=mysql\nGroup=mysql\nExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/data/mysql.pid\nRestart=on-failure\nRestartSec=10\n[Install]\nWantedBy=multi-user.target

3、重载systemd配置:systemctl daemon-reload

4、启动服务并设为开机自启:systemctl start mysqld && systemctl enable mysqld

5、验证服务状态:systemctl status mysqld,确认显示active (running)

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

2013

6

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.21

1239

5

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

735

5

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.19

2652

5

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.25

4408

4

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.08

1039

3

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.11

4651

4

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

2023.08.14

4182

7

mysql事务隔离级别
mysql事务隔离级别

mysql规范中定义了四种事务隔离级别,不同的隔离级别对事务的处理有所不同。本专题为大家提供mysql事务隔离级别相关的文章内容,大家可以免费体验。

2023.08.16

5434

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 176人学习

使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 282人学习