mysql5.7升级为mysql8.0.33(mysql版本升级)

deer332025-07-10技术文章35

最近有个升级mysql版本的操作,记录一下过程。

1、先对数据库进行备份。

2、安装软件

wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

rpm -ivh mysql80-community-release-el7-5.noarch.rpm

yum install mysql-community-server-8.0.33 -y

配置文件,注意配置文件有些参数可能不适合mysql8的版本,所以在初始化过程中需要不断的调试参数,配置文件参考:

# cat /etc/my.cnf

[client]

port = 3306

[mysqld]

datadir=/www/mysql

port = 3306

default_storage_engine = InnoDB

socket=/var/lib/mysql/mysql.sock

ft_min_word_len=1

skip-external-locking

skip-name-resolve

max_allowed_packet=256M

back_log = 500

max_user_connections = 300

max_connect_errors = 10000000

slow_query_log

long_query_time = 2

innodb_buffer_pool_size=512M

log_bin_trust_function_creators=1

max_connections=5000

transaction_isolation=READ-COMMITTED

group_concat_max_len=102400

innodb_buffer_pool_instances = 4

log-error=/var/log/mysqld.log

lower_case_table_names = 1

#sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION'

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

开始初始化:

mkdir /www/mysql

chown -R mysql:mysql /www/mysql

rm -rf /www/mysql/*

mysqld --initialize --user=mysql --datadir=/www/mysql //初始化

tail -30f /var/log/mysqld.log 通过日志文件查看是否初始化成功。临时密码会保存在这个文件里面。

初始化成功后,启动服务:

systemctl start mysqld

3、软件安装完成后,基础操作

首次登录成功需要修改密码:

SET PASSWORD = PASSWORD('YourNewPassword');

开始创建数据库,并且恢复,注意查看原来的库的编码情况:

SHOW CREATE DATABASE dbname;

创建库,并授权:

CREATE DATABASE `dbname` /*!40100 DEFAULT CHARACTER SET utf8 */

CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';

GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'%';

恢复:

use dbname;

source bak.sql;

验证测试。

总结:先备份——安装mysql8.0.33版本——配置文件——初始化,调试——启动服务——创建库——恢复——测试。