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

ubuntu 24.04部署mysql8.0.41(glibc2.17)

环境
Os:ubuntu 24.04 desktop桌面版
mysql:8.0.41 glibc2.17

 

查看操作系统信息
root@hxl-VirtualBox:/# uname -a
Linux hxl-VirtualBox 6.14.0-29-generic #29~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Aug 14 16:52:50 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

root@hxl-VirtualBox:/# cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

 

1.介质准备
mysql-8.0.41-linux-glibc2.17-x86_64.tar.xz
该介质可以从官网上进行下载

2.创建mysql用户和用户组(取消,系统已经自动创建了)
说明:V10已经存在mysql组和mysql用户,V11需要安装如下创建
root@hxl-VirtualBox:/soft# groupadd mysql
root@hxl-VirtualBox:/soft# useradd mysql -s /sbin/nologin -M -g mysql


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


3.下载解压二进制文件,解压,进入解压出来的文件
root@hxl-VirtualBox:/soft# cd /soft
root@hxl-VirtualBox:/soft# tar -xvf mysql-8.0.41-linux-glibc2.17-x86_64.tar.xz
root@hxl-VirtualBox:/soft# mv mysql-8.0.41-linux-glibc2.17-x86_64 /home/middle/mysql8

 

4.在mysql主目录下建立相应的目录
data目录存放数据文件,conf目录存放配置文件
[root@localhost mysql833]#cd /home/middle/mysql8
[root@localhost mysql833]#mkdir data ##数据文件目录
[root@localhost mysql833]#mkdir conf ## 配置文件目录
[root@localhost mysql833]#mkdir -p mysqllog/relaylog ##主从环境relaylog
[root@localhost mysql833]#mkdir -p mysqllog/logfile ##错误日志文件
[root@localhost mysql833]#mkdir -p mysqllog/binlog ##binlog文件
[root@localhost mysql833]#mkdir -p secure_file ##secure_file_priv参数指定路

 

5.在conf目录下创建配置文件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[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

 

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

 

7.初始化数据库

cd /home/middle/mysql8/bin
root@localhost:/home/middle/mysql8/bin# ./mysqld --initialize --lower-case-table-names=1 --user=mysql --basedir=/home/middle/mysql8 --datadir=/home/middle/mysql8/data
2025-09-12T03:34:31.219522Z 0 [System] [MY-013169] [Server] /home/middle/mysql8/bin/mysqld (mysqld 8.0.41) initializing of server in progress as process 8300
2025-09-12T03:34:31.231337Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-09-12T03:34:31.928021Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-09-12T03:34:34.773926Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: kWajWeulg1!Q

 

若报错的话,解决办法如下:
apt install numactl libaio1t64 -y

创建软连接
cd /usr/lib/x86_64-linux-gnu/
ln -s libaio.so.1t64.0.2 libaio.so.1
ln -s libncursesw.so.6.4 libncurses.so.6 ##好像这句不用执行,已经存在了软连接

 

8.启动
[root@localhost opt]#echo>/home/middle/mysql8/mysqllog/logfile/mysql-err.log
[root@localhost opt]#cd /home/middle
[root@localhost opt]#chown -R mysql:mysql ./mysql8

[root@localhost middle]# /home/middle/mysql8/bin/mysqld_safe --defaults-file=/home/middle/mysql8/conf/my.cnf --user=mysql &

 

9.登陆mysql并修改密码
[mysql@localhost bin]$ /home/middle/mysql8/bin/mysql -h localhost -uroot -P13306 -p
Enter password:

报错误:
root@hxl-VirtualBox:/home/middle# /home/middle/mysql8/bin/mysql -h localhost -uroot -P13306 -p
/home/middle/mysql8/bin/mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

解决办法:

root@localhost:~# find / -name libncurses.so*
/usr/lib/x86_64-linux-gnu/libncurses.so.6
/usr/lib/x86_64-linux-gnu/libncurses.so.6.4
/snap/core22/2111/usr/lib/x86_64-linux-gnu/libncurses.so.6
/snap/core22/2111/usr/lib/x86_64-linux-gnu/libncurses.so.6.3
/snap/core22/2045/usr/lib/x86_64-linux-gnu/libncurses.so.6
/snap/core22/2045/usr/lib/x86_64-linux-gnu/libncurses.so.6.3
find: ‘/run/user/1000/gvfs’: Permission denied
find: ‘/run/user/1000/doc’: Permission deniedroot@localhost:/soft# find / -name libtinfo.so*
/usr/lib/x86_64-linux-gnu/libtinfo.so.6
/usr/lib/x86_64-linux-gnu/libtinfo.so.5
/usr/lib/x86_64-linux-gnu/libtinfo.so.6.4
/snap/core22/2111/usr/lib/x86_64-linux-gnu/libtinfo.so.6
/snap/core22/2111/usr/lib/x86_64-linux-gnu/libtinfo.so.6.3
/snap/core22/2045/usr/lib/x86_64-linux-gnu/libtinfo.so.6
/snap/core22/2045/usr/lib/x86_64-linux-gnu/libtinfo.so.6.3
find: ‘/run/user/1000/gvfs’: Permission denied
find: ‘/run/user/1000/doc’: Permission denied

 

建立软连接
ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6.4 /usr/lib/x86_64-linux-gnu/libncurses.so.5
ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5

 

[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;


10.重启
停掉
su - root
/home/middle/mysql8/bin/mysqladmin -h localhost -uroot -P13306 -pmysql shutdown

启动
/home/middle/mysql8/bin/mysqld_safe --defaults-file=/home/middle/mysql8/conf/my.cnf --user=mysql &

 

11.正常登录
/home/middle/mysql8/bin/mysql -h localhost -uroot -P13306 -p

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

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

创建完成后查看加密方式:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select host,user,plugin from user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | hxl              | mysql_native_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.01 sec)

 

12.停掉数据库
方便后面使用系统命令启动
/home/middle/mysql8/bin/mysqladmin -h localhost -uroot -P13306 -pmysql shutdown

13.设置开启自启动


设置开机自启动
在/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.0.35-31-Linux-x86_64.glibc2.17备份
准备安装介质
percona-xtrabackup-8.0.35-31-Linux-x86_64.glibc2.17.tar.gz

cd /soft
tar -xvf percona-xtrabackup-8.0.35-31-Linux-x86_64.glibc2.17.tar.gz
mv percona-xtrabackup-8.0.35-31-Linux-x86_64.glibc2.17 /opt/xtrabackup-8.0.35-31


备份
/opt/xtrabackup-8.0.35-31/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 > /opt/xtrabackup_file/mybak20250910.xb.gz
/opt/xtrabackup-8.0.35-31/bin/xtrabackup: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory

解决办法:
https://www.cnblogs.com/hxlasky/p/19087915


2.使用xtrabackup-8.0.35-34-glibc2.28备份

该版本没有glibc2.17版本

报错:
root@localhost:/soft# /opt/xtrabackup-8.0.35-34-glibc2.28/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 > /opt/xtrabackup_file/mybak20250910.xb.gz
/opt/xtrabackup-8.0.35-34-glibc2.28/bin/xtrabackup: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

 

解决办法:
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

 

http://www.wxhsa.cn/company.asp?id=2012

相关文章:

  • C++ - STL - 键值对pair
  • 第四天学习:LSTM
  • MATLAB的稀疏自编码器实现
  • 题解:P2157 [SDOI2009] 学校食堂
  • LLM 应用开发中的常见模式
  • vue3 与 element-plus
  • 可爱的二维数据结构们
  • 网络安全相关职业
  • 202005_CTFHUB_Redis流量
  • langchain学习之路
  • 通义灵码产品演示: 数据库设计与数据分析
  • win10安装mysql,MySQL5.7详细教程
  • 第二周作业
  • ubuntu 24编译安装libssl.so.1.0.0
  • 9月8-13日小记 - L
  • Task2:利用 Basnet 将Task1中的所有图片转化为显著性图片
  • 代码随想录算法训练营第一天| 704.二分查找、27.移除元素、977.有序数组的平方
  • 让天下没有难查的故障:2025 阿里云 AI 原生编程挑战赛正式启动
  • kuka机器人程序备份
  • AI 测试工具20款
  • VMware安装NOI linux系统教程
  • 强制横屏 ios
  • 张量链式法则(下篇):揭秘Transpose、Summation等复杂算子反向传播,彻底掌握深度学习求导精髓!
  • 详细介绍:QT初探TCP(四)
  • 近期理工类学术会议推荐 | 人工智能、工业设计、电气工程、传感器技术、环境工程等EI会议合集
  • AI访销大脑之“创建及查询数据”新玩法
  • 史上最薄iPhone 17 Air登场!极致轻薄背后藏有哪些妥协?
  • 一毛钱好友商城系统介绍
  • 网页转小程序封装机系统介绍
  • 美客分销商城小程序系统介绍