国产麒麟系统KylinOS Server V10 SP2安装MySQL 8.0.28—RPM包安装

最近工作重点转向信创领域后就开始研究国产化操作系统对各种数据库的适配方案,期间发现一些很有价值的内容,特意整理成文章分享出来。

此文档讲述如何在国产麒麟操作系统KylinOS Server V10 SP2上安装MySQL 8.0.28的第一篇:使用MySQL RPM包安装。

一: 准备操作系统

1.1 首先确认操作系统版本是KylinOS Server V10 SP2

麒麟操作系统Kylinos Server V10 SP2使用的安装介质是Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso,执行以下命令查看版本:

cat /etc/kylin-release

5a4618bbc0bae040d74e3d4aa11b7e6b.png

cat /proc/version

b83451c00914eff92f25601c3715681b.png

1.2. 检查系统是否自带MySQL或MariaDB

通过以下命令检查是否安装:

rpm -qa | grep mariadb

2674f7598d4ead88cce413a73d565da5.png

如果系统已经安装了其它版本的MySQL或者MariaDB则要将其删除,执行以下命令删除:

rpm -e {mariadb-server,mariadb,mariadb-errmessage,mariadb-common}

1.3 检查SSL包是否安装

通过以下命令检查是否安装:

rpm -qa | grep ssl

44a86982fade34cb846fede02710d050.png

如果系统未安装openssl相关组件则需要将其安装,这里缺少openssl-devel,用yum安装之,这样它会自动安装依赖包,执行以下命令安装:

yum install openssl-devel

890e5c0d3886dbff9e2b3c46f8fad594.png

二: 准备MySQL安装包

最新社区版MySQL 8.0.28可与Kylinos Server V10 SP2兼容,因为Kylinos Server V10 SP2就是基于CentOS 8开发而来,确切说是基于华为Euler系统,而MySQL 8.0.28是可以兼容CentOS 8 的。

2.1 下载MySQL安装包

打开MySQL官网下载页面: https://dev.mysql.com/downloads/mysql/

选择MySQL 8.0.28版本,操作系统选择RedHat Enterprise Linux 8 64 bit,如下图:

4a5823daaa1f41d2ccef16794fdd6879.png

在下方安装包列表处,选择mysql-8.0.28-1.el8.x86_64.rpm-bundle.tar下载,如下图:

2b2b617579a3b5294987751403fa41ef.png

2.2 解压MySQL安装包

将MySQL 8.0.28上传到/root/Documents目录,并解压,如下图:

tar xvf mysql-8.0.28-1.el8.x86_64.rpm-bundle.tar

64e883cb4187b0781723a104fffdaf82.png

三: 安装MySQL

3.1 安装MySQL

只需要安装以下必选组件即可,注意必须按照先后顺序安装,如下列表:

mysql-community-common-8.0.28-1.el8.x86_64.rpm

mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm

mysql-community-libs-8.0.28-1.el8.x86_64.rpm

mysql-community-client-8.0.28-1.el8.x86_64.rpm

mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm

mysql-community-server-8.0.28-1.el8.x86_64.rpm

mysql-community-devel-8.0.28-1.el8.x86_64.rpm

使用以下命令安装每个rpm包:

rpm -ivh mysql-community-common-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.28-1.el8.x86_64.rpm

安装过程如下图:

5228e666ab6f34e9f3167122f93a0b46.png

3.2 启动MySQL

安装完成后MySQL服务默认并未启动,可以通过以下命令查看到状态:

systemctl status mysqld

818f17e8f2d1296b2c8ecf68538e643d.png

接下来要启动MySQL,通过执行以下命令启动:

systemctl start mysqld

fa5be49fa38898430cd7899f86eb2115.png

再次查看MySQL服务状态,看到MySQL服务成功启动:

systemctl status mysqld

2aeb97d0e69ec8a65e5cda474afaaa78.png

四: 配置MySQL

MySQL安装完成后需要对MySQL做基础配置,包括首次登录修改用户密码、数据文件位置调整、redo log大小与数量调整、undo 表空间调整、ibdata表空间调整、binlog+errorlog+slowlog+pid+socket等文件调整、性能参数调整,这些调整都可以通过修改my.cnf参数文件实现。

4.1 首次登录

在MySQL安装完成第一次启动MySQL服务后,会自动为MySQL的root用户生成一个随机初始化密码,并在MySQL的errorlog文件中记录下来,我们要找到它并用它登录MySQL,修改root用户密码后才能执行任何其它操作:

  • 找到初始化密码
grep password /var/log/mysqld.log

下图绿色方框中即为初始化密码

18ac2a27a21e878b4e7e88d4b4ddfa88.png

  • 使用上面的初始化密码登录MySQL
mysql -uroot -p

回车后,在下图绿色框中输入密码,成功登录MySQL

bafdba307e7fc95734ec9d28c747be8e.png

  • 修改root密码

使用初始化密码登录MySQL后只能执行修改密码的操作,其它任何操作是不能执行的,使用以下命令修改密码:

SQL>alter user user() identified by 'LaoGeDB123!';

18bc6ce6f74556ea466bfeea50f825d6.png

密码修改成功后,执行以下命令查看MySQL基本信息:

SQL>status

508c9862a88692ab35d29045965aa611.png

4.2 修改my.cnf参数文件

my.cnf默认会在/etc目录下自动生成,需要编辑此文件以调整各种文件配置和性能配置参数。

  • 在修改前要关闭MySQL服务
systemctl stop mysqld
  • 编辑/etc/my.cnf文件
vim /etc/my.cnf

按如下内容编辑my.cnf,系统和用户表空间放在data目录中,undo 表空间放在undo目录中,binlog开启GTID MODE并将binlog放在log目录中,redo log放在redo目录中并开启redo归档将归档日志放在arch目录中。

[mysql]
socket=/data/mysql/data/mysqld.sock

[mysqld]
###base config###
server-id=211
datadir=/data/mysql/data
socket=/data/mysql/data/mysqld.sock
pid-file=/data/mysql/data/mysqld.pid
log-error=/data/mysql/log/mysqld.log

###query config###
join_buffer_size = 128M
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 8M

###open table config###
table_open_cache=2000
table_open_cache_instances=16

###connection config###
max_connections=2000
thread_cache_size=200

###binlog config###
log_bin=/data/mysql/log/binlog
log_bin_index=/data/mysql/log/binlog.index
binlog_format=ROW
max_binlog_size=1G
binlog_cache_size=16M
binlog_expire_logs_seconds=604800
enforce_gtid_consistency=ON
gtid_mode=ON

###general log config###
general_log=OFF
general_log_file=/data/mysql/log/mysqld.gnl

###slow query config###
log_output=FILE
long_query_time=1
slow_query_log=ON
slow_query_log_file=/data/mysql/log/mysqld.slow

###innodb redo log config###
innodb_log_file_size=1G
innodb_log_files_in_group=3
innodb_log_buffer_size=16M
innodb_log_group_home_dir=/data/mysql/redo
innodb_redo_log_archive_dirs=/data/mysql/arch

###innodb undo log config###
#innodb_max_undo_log_size=1G
#innodb_undo_tablespaces=2
innodb_undo_directory=/data/mysql/undo

###innodb config###
#innodb_data_file_path=ibdata1:12M:autoextend
#innodb_temp_data_file_path=ibtmp1:12M:autoextend
#innodb_temp_tablespaces_dir=./#innodb_temp/
#innodb_autoextend_increment=64
innodb_buffer_pool_size=8G
innodb_open_files=10000
open_files_limit=10000

编辑完保存退出。

  • 移动MySQL数据文件

my.cnf配置文件中调整了undo、redo、binlog等文件的存放位置,因此需要将MySQL安装后默认数据目录下的文件移动到与my.cnf对应的目录下。

首先,创建与my.cnf中配置对应的目录

mkdir /data/mysql/{data,redo,undo,arch,log} -p

9fc1b2b10d647a65ac9265c07911829f.png

其次,移动文件到对应的目录

mv /var/lib/mysql/undo*  /data/mysql/undo
mv /var/lib/mysql/ib_logfile*  /data/mysql/redo
mv /var/lib/mysql/*  /data/mysql/data

最后,修改目录权限

chown mysql.mysql /data/mysql -R

4.3 启动MySQL服务

systemctl start mysqld

五: 测试MySQL

5.1 查看MySQL服务状态

systemctl status mysqld

05950aa39c8d2975f3848da996202023.png

5.2 登录MySQL

mysql -uroot -p

7b86d99bc8a0497bec33cd935eea7c26.png

c49dc5feff0b4269e76dbb221ff8ae1f.png

ed2cf3c40f8db9550ac2e344be4c2e6e.png

一切正常,至此安装完成。


作者:老哥讲数据库

简介:数据库高级架构师 | Oracle 11g&12c OCM认证 | MySQL 5.7&8.0 OCP认证

原创文章,转载请注明来源。

  • 16
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老哥讲数据库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值