麒麟服务器操作系统安装 MySQL 8 实战指南
往期好文连接:统信UOS/麒麟KYLINOS安装JDBC驱动包
Hello,大家好啊,今天给大家带来一篇麒麟服务器操作系统上安装 MySQL 8 的文章,欢迎大家分享点赞,点个在看和关注吧!MySQL 作为主流开源数据库之一,被广泛应用于各种业务系统中。本文将以银河麒麟服务器操作系统为基础,手把手教你完成 MySQL 8 的规范化部署与配置,不仅包括基本安装,还涵盖内核优化、安全初始化、远程连接设置与图形化工具测试等环节。
1.查看系统信息
[pdsyw@pdsyw1024 桌面]$ cat /etc/os-release [pdsyw@pdsyw1024 桌面]$ uname -a
用于确认系统,以及当前内核版本是否满足要求。
2.卸载mariadb防止冲突
[root@pdsyw1024 ~]# dnf remove -y mariadb mariadb-server mariadb-libs
系统默认包含 MariaDB,会与 MySQL 冲突,因此必须先卸载。
3.查看及禁用mysql模块(如存在)
[root@pdsyw1024 ~]# dnf module list | grep mysql [root@pdsyw1024 ~]# dnf module disable -y mysql
防止系统从默认模块源安装 MariaDB 而非 MySQL。
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 参数与文件句柄数,提升高并发环境下的连接能力。
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 用户在高负载下不会因为文件打开数受限而异常退出。
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 在使用大内存页时性能抖动。
7.设置时间同步服务
[root@pdsyw1024 ~]# dnf install -y chrony [root@pdsyw1024 ~]# systemctl enable --now chronyd
保持系统时间同步,防止主从不同步或日志时间混乱。
8.关闭SELinux
[root@pdsyw1024 ~]# getenforce Disabled
确认为 Disabled,防止其干扰端口访问与文件权限。
9.安装官方 YUM 仓库
[root@pdsyw1024 ~]# dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
引入 Oracle 官方 MySQL 8 仓库。
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 与依赖。
11.启动服务
[root@pdsyw1024 ~]# systemctl enable --now mysqld [root@pdsyw1024 ~]# systemctl status mysqld
启动服务并设置为开机自启。
12.获取临时 root 密码
[root@pdsyw1024 ~]# grep 'temporary password' /var/log/mysqld.log
安装后系统自动生成初始 root 密码。
13.安全初始化
[root@pdsyw1024 ~]# mysql_secure_installation
进行密码强度校验、清理匿名用户、禁用远程 root 等操作。
*步骤* | *建议答案* | *说明* |
---|---|---|
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 用户。
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
优化连接数、缓存、日志配置等。
16.重启服务
[root@pdsyw1024 ~]# systemctl restart mysqld [root@pdsyw1024 ~]# systemctl status mysqld
17.开通防火墙
[root@pdsyw1024 ~]# firewall-cmd --permanent --add-port=3306/tcp [root@pdsyw1024 ~]# firewall-cmd --reload
开放 MySQL 默认端口。
18.命令行连接测试
[root@pdsyw1024 ~]# mysql -h 192.168.80.56 -u root -p
测试远程连接是否成功。
19.使用dbeaver连接
dbeaver使用:https://mp.weixin.qq.com/s/YpbAJVsAFHNZgmtmNAx8kA
20.测试连接
21.点击下载驱动
22.测试成功
23.点击连接
24.连接成功
本指南详细覆盖了在麒麟服务器操作系统上部署 MySQL 8 的完整流程,从系统优化、服务配置、安全初始化,到远程访问和图形化管理,适用于生产级部署需求。如果这篇文章对你有帮助,欢迎点赞、评论、收藏并转发!