当前位置: 首页 > news >正文

麒麟服务器操作系统安装 MySQL 8 实战指南

往期好文连接:统信UOS/麒麟KYLINOS安装JDBC驱动包

Hello,大家好啊,今天给大家带来一篇麒麟服务器操作系统上安装 MySQL 8 的文章,欢迎大家分享点赞,点个在看和关注吧!MySQL 作为主流开源数据库之一,被广泛应用于各种业务系统中。本文将以银河麒麟服务器操作系统为基础,手把手教你完成 MySQL 8 的规范化部署与配置,不仅包括基本安装,还涵盖内核优化、安全初始化、远程连接设置与图形化工具测试等环节。

1.查看系统信息

[pdsyw@pdsyw1024 桌面]$ cat /etc/os-release 
​
[pdsyw@pdsyw1024 桌面]$ uname -a

用于确认系统,以及当前内核版本是否满足要求。

img

2.卸载mariadb防止冲突

[root@pdsyw1024 ~]# dnf remove -y mariadb mariadb-server mariadb-libs

系统默认包含 MariaDB,会与 MySQL 冲突,因此必须先卸载。

img

3.查看及禁用mysql模块(如存在)

[root@pdsyw1024 ~]# dnf module list | grep mysql
​
[root@pdsyw1024 ~]# dnf module disable -y mysql

防止系统从默认模块源安装 MariaDB 而非 MySQL。

img

4.配置系统内核参数

[root@pdsyw1024 ~]# cat >> /etc/sysctl.conf <<EOF
​
> fs.file-max = 1000000
​
> net.core.somaxconn = 1024
​
> net.ipv4.tcp_max_syn_backlog = 4096
​
> net.ipv4.tcp_syncookies = 1
​
> net.ipv4.tcp_tw_reuse = 1
​
> net.ipv4.tcp_fin_timeout = 15
​
> EOF
​
[root@pdsyw1024 ~]# sysctl -p

优化 TCP 参数与文件句柄数,提升高并发环境下的连接能力。

img

5.设置 mysql 用户文件句柄限制

[root@pdsyw1024 ~]# echo "mysql soft nofile 65536" >> /etc/security/limits.conf
​
[root@pdsyw1024 ~]# echo "mysql hard nofile 65536" >> /etc/security/limits.conf

确保 mysql 用户在高负载下不会因为文件打开数受限而异常退出。

img

6.禁用 Transparent Huge Pages

[root@pdsyw1024 ~]# cat > /etc/systemd/system/disable-thp.service <<EOF
​
> [Unit]
​
> Description=Disable Transparent Huge Pages
​
> After=sysinit.target local-fs.target
​
> 
​
> [Service]
​
> Type=oneshot
​
> ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/enabled'
​
> ExecStart=/bin/sh -c 'echo never > /sys/kernel/mm/transparent_hugepage/defrag'
​
> RemainAfterExit=true
​
> 
​
> [Install]
​
> WantedBy=multi-user.target
​
> EOF
​
[root@pdsyw1024 ~]# systemctl daemon-reexec
​
[root@pdsyw1024 ~]# systemctl enable --now disable-thp

关闭 THP,可防止 InnoDB 在使用大内存页时性能抖动。

img

7.设置时间同步服务

[root@pdsyw1024 ~]# dnf install -y chrony
​
[root@pdsyw1024 ~]# systemctl enable --now chronyd

保持系统时间同步,防止主从不同步或日志时间混乱。

img

8.关闭SELinux

[root@pdsyw1024 ~]# getenforce 
​
Disabled

确认为 Disabled,防止其干扰端口访问与文件权限。

img

9.安装官方 YUM 仓库

[root@pdsyw1024 ~]# dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

引入 Oracle 官方 MySQL 8 仓库。

img

10.安装 MySQL

[root@pdsyw1024 ~]# sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
​
[root@pdsyw1024 ~]# dnf makecache
​
[root@pdsyw1024 ~]# dnf install -y mysql-community-server

正式安装 MySQL Server 与依赖。

img

11.启动服务

[root@pdsyw1024 ~]# systemctl enable --now mysqld
​
[root@pdsyw1024 ~]# systemctl status mysqld

启动服务并设置为开机自启。

img

12.获取临时 root 密码

[root@pdsyw1024 ~]# grep 'temporary password' /var/log/mysqld.log

安装后系统自动生成初始 root 密码。

img

13.安全初始化

[root@pdsyw1024 ~]# mysql_secure_installation

进行密码强度校验、清理匿名用户、禁用远程 root 等操作。

img

*步骤**建议答案**说明*
Change the password for root ?N已经设置了新密码,并且强度很高,不需要再次修改
Remove anonymous users?Y移除匿名用户,增强安全性
Disallow root login remotely?Y(生产环境)禁止远程登录 root(可后续添加授权用户)
Remove test database and access to it?Y删除测试数据库
Reload privilege tables now?Y应用前面更改

14.登录数据库创建远程用户

[root@pdsyw1024 ~]# mysql -u root -p
​
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'PDSyw1024!';
​
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
​
mysql> FLUSH PRIVILEGES;

创建允许远程访问的 root 用户。

img

15.修改 MySQL 配置文件

[root@pdsyw1024 ~]# vim /etc/my.cnf
​
[root@pdsyw1024 ~]# grep -v "#" /etc/my.cnf
​​
[mysqld]
​
bind-address=0.0.0.0
​
max_connections = 500
​
innodb_buffer_pool_size = 2G
​
innodb_log_file_size = 512M
​
innodb_flush_log_at_trx_commit = 2
​
binlog_format = row
​
slow_query_log = 1
​
slow_query_log_file = /var/log/mysql/slow.log
​
long_query_time = 2
​​
datadir=/var/lib/mysql
​
socket=/var/lib/mysql/mysql.sock
​​
log-error=/var/log/mysqld.log
​
pid-file=/var/run/mysqld/mysqld.pid

优化连接数、缓存、日志配置等。

img

16.重启服务

[root@pdsyw1024 ~]# systemctl restart mysqld
​
[root@pdsyw1024 ~]# systemctl status mysqld

img

17.开通防火墙

[root@pdsyw1024 ~]# firewall-cmd --permanent --add-port=3306/tcp
​
[root@pdsyw1024 ~]# firewall-cmd --reload

开放 MySQL 默认端口。

img

18.命令行连接测试

[root@pdsyw1024 ~]# mysql -h 192.168.80.56 -u root -p

测试远程连接是否成功。

img

19.使用dbeaver连接

dbeaver使用:https://mp.weixin.qq.com/s/YpbAJVsAFHNZgmtmNAx8kA

img

20.测试连接

img

21.点击下载驱动

img

22.测试成功

img

23.点击连接

img

24.连接成功

img

本指南详细覆盖了在麒麟服务器操作系统上部署 MySQL 8 的完整流程,从系统优化、服务配置、安全初始化,到远程访问和图形化管理,适用于生产级部署需求。如果这篇文章对你有帮助,欢迎点赞、评论、收藏并转发!

相关文章:

  • 掌握 Kotlin Android 单元测试:MockK 框架深度实践指南
  • 【AI】用Dify实现一个模拟面试的功能
  • require/exports 或 import/export的联系和区别,各自的使用场景
  • skywalking使用教程
  • 基于51单片机和8X8点阵屏、矩阵按键的匹对消除类小游戏
  • Flask 是否使用类似 Spring Boot 的核心注解机制
  • MyBatis—动态 SQL
  • Mysql存储过程(附案例)
  • Gitee DevOps:中国企业数字化转型的加速引擎
  • Gitee DevOps:中国企业数字化转型的“本土化加速器“
  • 【Pandas】pandas DataFrame kurt
  • 深度剖析:Dify+Sanic+Vue+ECharts 搭建 Text2SQL 项目 sanic-web 的 Debug 实战
  • 【Unity】用事件广播的方式实现游戏暂停,简单且实用!
  • 单元化架构
  • <PLC><视觉><机器人>基于海康威视视觉检测和UR机械臂,如何实现N点标定?
  • IEEE 列表会议第五届机器人、自动化与智能控制国际会议
  • 软件架构风格系列(4):事件驱动架构
  • Python打卡 DAY 27
  • 大模型在数据分析领域的研究综述
  • CSS:颜色的三种表示方式
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:没太多包袱,很多事都能从零开始
  • 时隔3年,持续近2小时,俄乌在土耳其谈成了什么?
  • 上百家单位展示AI+教育的实践与成果,上海教育博览会开幕
  • 网易一季度净利增长三成,丁磊:高度重视海外游戏市场
  • 前四个月人民币贷款增加10.06万亿元,4月末M2余额同比增长8%
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,市场有望迎来新增量需求