百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

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

mhr18 2025-02-08 11:55 14 浏览 0 评论

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

此文档讲述如何在国产麒麟操作系统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
cat /proc/version

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

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

rpm -qa | grep mariadb

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

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

1.3 检查SSL包是否安装

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

rpm -qa | grep ssl

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

yum install openssl-devel

二: 准备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,如下图:

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

2.2 解压MySQL安装包

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

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

三: 安装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

安装过程如下图:

3.2 启动MySQL

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

systemctl status mysqld

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

systemctl start mysqld

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

systemctl status mysqld

四: 配置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

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

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

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

  • 修改root密码

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

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

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

SQL>status

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

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

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

5.2 登录MySQL

mysql -uroot -p

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


作者:老哥讲数据库

简介:数据库高级架构师,oracle 11g OCM认证,MySQL 5.7 & 8.0 OCP认证。

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

相关推荐

Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务

据oracle网3月20日报道,Oracle宣布在OracleDatabase@Azure的百万兆次级基础设施上全面推出OracleExadata数据库服务。百万兆次级部署选项无需供应...

Oracle数据库中查询最前面的100条数据,三种方法对比

在Oracle数据库中查询最前面的100条数据,可通过多种方法实现,不同方法适用于不同场景和版本。以下是基于当前技术文档的三种核心方案及其适用性分析:一、使用ROWNUM伪列(通用方案,全版本适用...

Oracle数据库中判断字段不为空?(oracle判断字段是否包含数字)

Oracle数据库中如何判断字段不为空在Oracle数据库中,判断字段(列)不为空通常涉及到几种不同的场景和需求。下面是一些常见的方法来检查字段是否不为空:1.使用NVL函数NVL函数可以用来将NU...

打标机软件哪些特殊功能是需要通过二次开发来实现的

以下是打标机软件需通过二次开发实现的核心功能分类及技术实现路径:一、硬件接口适配多品牌设备协议兼容对接不同型号PLC(如基恩士、西门子)或工业相机(如Basler),需通过开发板卡API(如金橙子SD...

Oracle→PostgreSQL 存储过程一键转换

重磅更新:Oracle迁移到PostgreSQL。如果你也会遇到过以上这些情况,这个真是太痛了。SQLShift是一款专注于多元异构数据库的SOL方言转换工具,本次的重大更新就是来给你止痛的。支持从O...

IvorySQL 核心技术解读:双 Parser 架构如何定义数据库兼容性?

引言PostgreSQL与Oracle的语法差异较大,为兼容Oracle语法并保持原生PostgreSQL语法,IvorySQL采用了双Parser框架,动态切换不同Parser...

MySql高可用集群Keepalived热备份MySQL Router负载均衡读写分离

软件系统运行起来后最重要的部分是数据库中存储的数据,而数据库容易因各种原因损坏,构建一个高可用的数据库集群的作用就凸显出来工作原理和流程MySQL发展至今,在高可用性方面不断前进,从最初的异步复制、半...

浅谈mysql高可用架构(mysql高可用集群怎么搭建)

MySQL提供的高可能解决方案在选择一个高可用方案时,MySQL提供了众多的选择。包括MySQL复制,MySQL集群,免费和开源的解决方案,当然,还有来自我们认证合作伙伴的产品。在本节中,...

Java要学哪些内容,才能找到一份java开发工程师工作?

作为老牌语言,java一直占据着老大哥地位,目前几乎90%以上的大中型互联网应用系统都首选java语言。王牌语言、薪资待遇高,java因此吸引了不少小白投入到java学习中来。但是,很多小伙伴通过网络...

Java17,有史以来最快 JDK(java速度最快的排序)

就在前不久,Java又又又更新了,Oracle正式发布了Java开发工具JDK最新版JDK17,新版本提供了不少新特性和功能的增强,而且还是一个LTS(长期支持)版本,这类JDK...

让我带你一起看看java 小白的学习路线应该如何规划?

对于零基础的同学而言,学习Java并不是很容易,需要很大的毅力。Java学习是一个漫长的过程,涉及到的内容非常多,简单的网页制作,简单的js脚本,数据库,各种常用的框架等等。当然,我一直的观点就是:兴...

Java程序员提升代码质量的全方位指南

Java程序员提升代码质量的全方位指南作为一个Java程序员,提升代码质量是职业生涯中的重要课题。优秀的代码不仅能提高开发效率,还能减少后期维护成本,更重要的是它能让你在团队中脱颖而出。今天我们就来聊...

Java开发者必知必会的工具之Apache Drill

导读:前段时间公司业务需要,需要对现有用户数据进行简单的商业分析,因此找到了ApacheDrill。本文将对ApacheDrill进行简单的说明,希望能够帮助读者理解并使用到实际项目中。使用场景...

软件开发专业需要什么资格证书?(软件开发专业需要什么资格证书呢)

软件开发专业是一个较为通用的专业,业内实际上没有特别管用的资格证书。较为相关一点的证书一般有这几种:1、“软考”证书。属于国家认证,包括软件工程师、系统分析师、系统架构师等等。如果楼主是本科,也希...

MySQL 8.0 OCP认证考试题库持续更新

MySQL是属于甲骨文Oracle公司的一个世界知名的免费数据库产品,使用的范围广、企业多、人员也多,所以对MySQL认证关注的人也不少,MySQL的证书与Oracle的证书使用的是同一个模板,只是在...

取消回复欢迎 发表评论: