kylin SP2安装mysql8.4.5

news/2025/9/17 15:08:25/文章来源:https://www.cnblogs.com/hxlasky/p/19096807

环境:
OS:kylin SP2
mysql:8.4.5 glibc2.17,建议安装glibc.2.28版本

查看系统glibc版本

[root@localhost soft]# ldd --version
ldd (GNU libc) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.或是
[root@localhost soft]# getconf -a | grep glibc
GNU_LIBC_VERSION                   glibc 2.28

 

1.查看操作系统

[root@localhost soft]# uname -a
Linux localhost.localdomain 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost soft]# more /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31

 

2.获取mysql安装介质
mysql-8.4.5-linux-glibc2.17-x86_64.tar.xz


3.创建mysql用户和用户组(系统已经创建不需要创建)
[root@localhost soft]#groupadd mysql
[root@localhost soft]#useradd -g mysql mysql
[root@localhost soft]#passwd mysql

4.创建安装主目录
[root@localhost soft]#mkdir -p /home/middle/

5.下载解压安装
[root@localhost soft]# tar -xvf mysql-8.4.5-linux-glibc2.17-x86_64.tar.xz
[root@localhost soft]# mv mysql-8.4.5-linux-glibc2.17-x86_64 /home/middle/mysql8


6.创建相应的目录
[root@node1 mysql8]# cd /home/middle/mysql8
[root@localhost mysql8]# mkdir data ##数据文件目录
[root@localhost mysql8]# mkdir conf ## 配置文件目录
[root@localhost mysql8]# mkdir -p mysqllog/relaylog ##主从环境relaylog
[root@localhost mysql8]# mkdir -p mysqllog/logfile ##错误日志文件
[root@localhost mysql8]# mkdir -p mysqllog/binlog ##binlog文件
[root@localhost mysql8]# mkdir -p secure_file ##secure_file_priv参数指定路
[root@localhost mysql8]# mkdir audit ##审计目录

 

7.初始化数据库
root账户下
[root@localhost bin]# cd /home/middle/mysql8/bin
[root@localhost bin]# ./mysqld --initialize --lower-case-table-names=1 --user=mysql --basedir=/home/middle/mysql8 --datadir=/home/middle/mysql8/data
2025-09-17T06:34:52.693851Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-09-17T06:34:52.695012Z 0 [System] [MY-013169] [Server] /home/middle/mysql8/bin/mysqld (mysqld 8.4.5) initializing of server in progress as process 24570
2025-09-17T06:34:52.704481Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-09-17T06:34:53.090400Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-09-17T06:34:55.065989Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qb>1Ol1uyf?<
2025-09-17T06:34:56.993492Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.

 

8.准备配置文件

[root@node1 conf]# more my.cnf 
[mysqld]
port=13306
server-id=1
basedir=/home/middle/mysql8
datadir=/home/middle/mysql8/data
max_connections = 5000
character_set_server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
interactive_timeout=86400
wait_timeout=86400
skip-external-locking
key_buffer_size= 128M
max_allowed_packet=32M
##query_cache_size=32M
read_buffer_size=2M
sort_buffer_size=1M
join_buffer_size= 128M
innodb_file_per_table= 1
innodb_open_files= 5000
innodb_buffer_pool_size= 4G
innodb_write_io_threads= 16
innodb_read_io_threads= 16
innodb_thread_concurrency = 0
innodb_purge_threads= 1
innodb_flush_log_at_trx_commit= 2
innodb_log_buffer_size=16M
##准备废弃innodb_log_file_size和innodb_log_files_in_group,使用innodb_redo_log_capacity代替
##innodb_log_file_size=512M
##innodb_log_files_in_group= 5
innodb_redo_log_capacity = 2GB
innodb_max_dirty_pages_pct= 90
innodb_lock_wait_timeout= 120
bulk_insert_buffer_size= 64M
myisam_sort_buffer_size=64M
myisam_max_sort_file_size= 1G
##myisam_repair_threads= 1
log_bin_trust_function_creators=1
event_scheduler=1
max_binlog_size=100M
binlog_format=row
log-bin=/home/middle/mysql8/mysqllog/binlog/binlog.bin
slow_query_log=on
slow_query_log_file=/home/middle/mysql8/mysqllog/logfile/slow-query.log
long_query_time=1
log_queries_not_using_indexes=on
log-error=/home/middle/mysql8/mysqllog/logfile/mysql-err.log
binlog_cache_size=4MB
##skip-host-cache
skip-name-resolve
##已经没有该参数了expire_logs_days=7
##7*24*60*60=604800 7天
binlog_expire_logs_seconds=604800
##skip_replica_start
##skip-slave-start
skip_replica_start
relay-log-index=/home/middle/mysql8/mysqllog/relaylog/slave-relay-bin.index
relay-log=/home/middle/mysql8/mysqllog/relaylog/relaylog-binlog
replicate-ignore-db=information_schema,performance_schema,sys
replica_net_timeout=60
early-plugin-load=""
explicit_defaults_for_timestamp=true
log_replica_updates=1
##log_slave_updates=1
gtid_mode=ON
enforce_gtid_consistency = ON
lower_case_table_names=1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO'
secure_file_priv=/home/middle/mysql8/secure_file
##default_authentication_plugin=mysql_native_password
##authentication_policy=mysql_native_password
mysql_native_password=on[client]
port = 13306
default-character-set = utf8mb4[mysqldump]
quick
max_allowed_packet = 32M
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M

 

9.生成错误日志文件
[root@localhost conf]# echo>/home/middle/mysql8/mysqllog/logfile/mysql-err.log

10.修改目录权限
[root@localhost mha]# cd /home/middle
[root@localhost opt]# chown -R mysql:mysql ./mysql8

 

11.启动
(在root用户下执行)
[root@node1 opt]# /home/middle/mysql8/bin/mysqld_safe --defaults-file=/home/middle/mysql8/conf/my.cnf --user=mysql &


12.登陆数据库修改相应用户密码
[root@localhost middle]# /home/middle/mysql8/bin/mysql -h localhost -uroot -P13306 -p

mysql> select version();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

提示修改密码
alter user 'root'@'localhost' identified by 'mysql';
flush privileges;


13.重新登录
[root@localhost data]# /home/middle/mysql8/bin/mysql -h localhost -uroot -P13306 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.41 MySQL Community Server - GPL

Copyright (c) 2000, 2025, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.4.5 |
+-----------+
1 row in set (0.00 sec)

14.创建数据库
mysql> create database db_test;
Query OK, 1 row affected (0.02 sec)


15.创建开发用户
create user 'hxl'@'%' identified by 'mysql';
grant all privileges on db_test.* to 'hxl'@'%' with grant option;

创建完成后查看加密方式:
mysql> use mysql;
mysql> select host,user,plugin from user;
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | hxl | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | caching_sha2_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)

 

修改密码认证方式,确保旧版本的navicate能够登录
alter user 'hxl'@'%' identified with mysql_native_password by 'mysql';


16.做成开机自启动
设置开机自启动
在/etc/systemd/system目录下创建 mysql.service 文件
root下操作
vi /etc/systemd/system/mysql.service

[Unit]
Description=mysql
[Service]
User=mysql
LimitNOFILE=100000
LimitNPROC=100000
ExecStart=/home/middle/mysql8/bin/mysqld_safe --defaults-file=/home/middle/mysql8/conf/my.cnf
[Install]
WantedBy=multi-user.target


注意如下两个参数不能设置太小,否则mysql会不停重启动

LimitNOFILE=100000
LimitNPROC=100000


设置开机自启
systemctl enable mysql
systemctl daemon-reload

尝试启动
systemctl start mysql
systemctl status mysql

systemctl stop mysql
systemctl status mysql

可以的话进行系统reboot,看是否会自动启动


##############################xtrabackup备份##############################
1.获取介质
percona-xtrabackup-8.4.0-2-Linux-x86_64.glibc2.17.tar.gz
下载地址
https://www.percona.com/downloads

 

2.解压安装
[root@localhost soft]# tar -xvf percona-xtrabackup-8.4.0-2-Linux-x86_64.glibc2.17.tar.gz
[root@localhost soft]# mv percona-xtrabackup-8.4.0-2-Linux-x86_64.glibc2.17 /opt/xtrabackup-8.4.0-2

3.备份
/opt/xtrabackup-8.4.0-2/bin/xtrabackup --defaults-file=/home/middle/mysql8/conf/my.cnf --user=root --password=mysql -P13306 --socket=/tmp/mysql.sock --no-version-check --compress-threads=4 --backup --stream=xbstream --parallel=4 | gzip > /tmp/mybak20250910.xb.gz

报错误:
/opt/xtrabackup-8.4.0-2/bin/xtrabackup: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory

 

安装glibc.2.28版本的没有问题
percona-xtrabackup-8.4.0-4-Linux-x86_64.glibc2.28.tar.gz
/opt/xtrabackup-8.4.0-4/bin/xtrabackup --defaults-file=/home/middle/mysql8/conf/my.cnf --user=root --password=mysql -P13306 --socket=/tmp/mysql.sock --no-version-check --compress-threads=4 --backup --stream=xbstream --parallel=4 | gzip > /tmp/mybak20250910.xb.gz

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信社群机器人接口

微信个人号开发API/文档/教程 大家一般需求点无非是以下几个需求: 1.开发个人微信营销系统 2.开发自定义的微信机器人, 3.开发微信智能聊天客服系统 4.定制行业内的群数据分析功能需求很简单,业务代码贼好撸,但是如何和微信交互呢,如何取到微信数据调用相关聊天接口呢,具体…

C++的枚举类

语法:enum class 枚举类名 [: 底层类型] {枚举值1,枚举值2,... };一般形式(当然我们一般默认成员都显转int,因此底层类型一般不写) C++的枚举类: 在C++中,enum class是一种类型安全的枚举类型,它比传统的enum类型提供了更好的作用域控制和类型安全性。使用enum class可以…

Revit二次开发 钢筋生成API(一)

1、自由钢筋生成API创建不受约束的自由形式钢筋。以后不能将约束添加到此钢筋。public static Rebar CreateFreeForm(Document doc,RebarBarType barType,Element host,IList<CurveLoop> curves,out RebarFreeFormValidationResult error )通过此方法,可以创建一个或者多…

方法

什么是方法 方法是程序中最小的执行单位 实际开发中:重复的代码,具有独立功能的代码可以抽取到方法当中 实际开发中方法的好处:可以提高代码的复用性 提高代码的可维护性 最简单的方法定义和调用 方法的格式:把一些代码打包在一起,用到时候就调用 方法定义:把一些代码打包在…

详细介绍:PHP基础-语法初步(第七天)

详细介绍:PHP基础-语法初步(第七天)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !importan…

如何通过Python SDK 删除 Collection

本文介绍如何通过Python SDK删除一个已创建的Collection。 重要 删除Collection后,该Collection所有数据将删除且不可恢复,请谨慎操作。 前提条件已创建Cluster:创建Cluster已获得API-KEY:API-KEY管理已安装最新版SDK:安装DashVector SDK接口定义 Python示例: Client.del…

Inventor Professional 2026.1.1 产品设计与工程制图

描述 Autodesk Inventor提供了专业级机械设计、文档编制和产品仿真工具。参数化建模、直接建模、自由形状建模和基于规则的设计功能的强大组合。用于钣金、结构件设计、三维布管、电缆和线束、演示、渲染、仿真、机床设计等的集成工具。值得信赖的 DWG™ 兼容性,强大的基于模型…

叮当计步微信小程序系统

1. 概述总结 叮当计步小程序系统是基于微擎系统交付的应用,微擎系统是一款基于 PHP 开发的开源应用生态系统,主要用于快速搭建微信公众号、小程序等应用,同时支持 Web 系统开发与部署。该计步系统历经数月研发,投入 20 多万研发费用,注重数据可靠性、系统扩展性和高并发支…

叮当计步微信小程序系统

1. 概述总结 叮当计步小程序系统是基于微擎系统交付的应用,微擎系统是一款基于 PHP 开发的开源应用生态系统,主要用于快速搭建微信公众号、小程序等应用,同时支持 Web 系统开发与部署。该计步系统历经数月研发,投入 20 多万研发费用,注重数据可靠性、系统扩展性和高并发支…

maven项目连接DM数据库和基本sql使用

maven项目连接DM数据库和基本sql使用直接引入Maven依赖<!-- DM数据库JDBC驱动 --> <dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.3.140</version> </dependency>dem…

maven项目连接DM数据库和基本sql使用

maven项目连接DM数据库和基本sql使用直接引入Maven依赖<!-- DM数据库JDBC驱动 --> <dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.3.140</version> </dependency>dem…

【中国计算机学会CCF主办】第六届人工智能、大数据与算法国际学术会议(CAIBDA 2026)

第六届人工智能、大数据与算法国际学术会议(CAIBDA 2026) 2026 6th International Conference on Artificial Intelligence, Big Data and Algorithms (CAIBDA 2026)重要信息 大会时间:2026年6月12-14日 大会地点:天津(线上同步进行) 大会官网:www.caibda.org *为报名…

【中国计算机学会CCF主办】第六届人工智能、大数据与算法国际学术会议(CAIBDA 2026)

第六届人工智能、大数据与算法国际学术会议(CAIBDA 2026) 2026 6th International Conference on Artificial Intelligence, Big Data and Algorithms (CAIBDA 2026)重要信息 大会时间:2026年6月12-14日 大会地点:天津(线上同步进行) 大会官网:www.caibda.org *为报名…

仿腾讯会议——退出房间

客户端 1、添加绘图成员 2、 实现视频的重绘事件 3、实现关闭函数 定义信号和函数 关闭函数实现 添加清空列表功能 在房间内添加用户映射表 中介者退出函数 移除用户展示界面 离开房间请求处理 服务端

蓝桥杯分享经验

系列文章目录 提示&#xff1a;小白先看系列 第一章 蓝桥杯的钱白给吗 文章目录 系列文章目录前言一、自我介绍二、经验讲解:1.基础知识2.进阶知识3.个人观点 三、总结四、后续 前言 第十六届蓝桥杯已经省赛已经结束了&#xff0c;相信很多小伙伴也已经得到自己的成绩了。接下…

C++:面试题汇总

C 基础 指针和引用的区别 指针是一个变量&#xff0c;存储的另一个变量的内存地址&#xff0c; 可以重复赋值执行不同的对象&#xff0c;运行为nullptr 适合动态分配&#xff0c;例如使用new,delete时&#xff1b; 用在实现链表、树等数据结构时&#xff1b; 以及明确没有对象…

python调wfdb库读心电数据库的注释文件中NUL问题

切入点如题。开始使用字符串中通配符&#xff0c;没用。查找DeepSeek给出下面结果&#xff1a; 在 Python 中&#xff0c;字符串中出现 [NUL] 表示字符串包含一个 ASCII 空字符&#xff08;ASCII 值为 0 的字符&#xff0c;即 \x00&#xff09;。这个符号通常是某些编辑器或调…

iOS Runtime与RunLoop的对比和使用

Runtime 机制 核心概念 Objective-C 的动态特性&#xff1a;Objective-C 是一门动态语言&#xff0c;很多工作都是在运行时而非编译时决定的消息传递机制&#xff1a;方法调用实际上是发送消息 objc_msgSend(receiver, selector, ...)方法决议机制&#xff1a;动态方法解析、…

【信息系统项目管理师】第16章:项目采购管理 - 23个经典题目及详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…

fscan教程1-存活主机探测与端口扫描

实验目的 本实验主要介绍fscan工具信息收集功能&#xff0c;对同一网段的主机进行存活探测以及常见服务扫描。 技能增长 通过本次实验的学习&#xff0c;了解信息收集的过程&#xff0c;掌握fscan工具主机探测和端口扫描功能。 预备知识 fscan工具有哪些作用&#xff1f; …