首页 > 数据库 >MySQL 5.7 升级到 8.0

MySQL 5.7 升级到 8.0

时间:2024-05-24 18:07:09浏览次数:26  
标签:8.0 log 5.7 data MySQL 36 mysql local

1.升级前检查

wget https://downloads.mysql.com/archives/get/p/43/file/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit.tar.gz
tar xf mysql-shell-8.0.36-linux-glibc2.12-x86-64bit.tar.gz -C /tmp/
cd /tmp/mysql-shell-8.0.34-linux-glibc2.12-x86-64bit/bin
./mysqlsh -uroot -p -S /tmp/mysql.sock -e "util.checkForServerUpgrade()" > util.checkForServerUpgrade.log

2.下载安装包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.36-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
cd /usr/local && mv mysql-8.0.36-linux-glibc2.12-x86_64 mysql-8.0.36

3.逻辑备份

mysqldump -uroot -p --routines --set-gtid-purged=OFF --databases XXX1  XXX2 > /data/all-database-`date +%F`.sql
# --routines 备份存储过程和函数

4.关闭数据库

mysql -h127.0.0.1 -uroot -p'xxx'
select version();
show variables like 'innodb_fast_shutdown';
set global innodb_fast_shutdown=0;
shutdown;
exit;

5.备份数据目录和配置文件

cp -r /data/local/mysql/data /data/local/mysql/data_`date +%F`
cp /etc/my.cnf /etc/my.cnf_`date +%F`

6.修改配置文件

# /etc/my.cnf

[mysqld]
user=mysql
basedir=/usr/local/mysql-8.0.36
datadir=/data/local/mysql/data
server_id=3
port=3306
socket=/tmp/mysql.sock
log_bin=/data/local/mysql/binlog/bin-log
binlog_format = ROW
max_binlog_size = 100M
log_slave_updates
expire_logs_days=7

long_query_time=5
slow_query_log=ON
slow_query_log_file=/data/local/mysql/slow_query.log

log-error=/data/local/mysql/mysql-error.log
log_timestamps=SYSTEM

max_connections=1000
max_allowed_packet=500M
skip-name-resolve=1

character_set_server=utf8
collation-server=utf8_general_ci

# For 8.0
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
default_authentication_plugin=mysql_native_password
default-storage-engine=INNODB

[mysql]
socket=/tmp/mysql.sock
default-character-set=utf8

7.执行升级

/usr/local/mysql-8.0.36/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --upgrade=FORCE

# 会一直卡住
# error 日志看到以下输出, 说明升级完成
# Server upgrade from '80036' to '80036' completed.

# 新开窗口, 连上 mysql 执行命令查看
select version();

8.修改环境变量及启动脚本

export PATH=$PATH:/usr/local/mysql-8.0.36/bin

# /etc/init.d/mysqld
basedir=/usr/local/mysql-8.0.36

9.重启 mysql

systemctl daemon-reload
/etc/init.d/mysqld restart

 

标签:8.0,log,5.7,data,MySQL,36,mysql,local
From: https://www.cnblogs.com/ninejy/p/18211497

相关文章

  • MySQL入门——基础语法
    数据库的操作显示当前的数据库创建数据库语法:CREATEDATABASE[IFNOTEXISTS]db_name[create_specification[,create_specification]...]create_specification:[DEFAULT]CHARACTERSETcharset_name[DEFAULT]COLLATEcollation_name说明:大写的表示关键字......
  • MySQL优化
    MySQL优化创建高性能索引索引基础知识何为索引?索引有哪些类型?深入探索B+Tree索引B+Tree基本知识查询遍历插入删除创建高性能索引策略前缀索引多列索引聚簇索引覆盖索引查询性能优化创建高性能索引索引基础知识何为索引?索引,在MySQL中也叫作键(key),是存储引擎用......
  • MySQL的四⼤特性
    MySQL的四大特性原子性例子如何保证原子性?分布式数据库如何保证原子性?一致性如何保证一致性?隔离性如果无法保证隔离性会发生什么?脏读不可重复读幻读如何保证隔离性?持久性如何保证持久性?意外情况怎么解决?MySQL数据库有原⼦性(Atomicity)、⼀致性(Consistency)、......
  • MYSQL分页优化
    分布式任务调度内的MySQL分页查询优化 作者:vivo互联网数据库团队- QiuXinbo本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题。对于数据分布不均如何发现,提供了一些SQL查询案......
  • 深入《MySQL视图》及《MySQL索引与分区》
    一. MySQL视图#MySQL视图深度指南:从新手到专家欢迎来到这篇全面的MySQL视图教程。在数据库的世界中,视图(View)是一个强大的工具,它允许你以一种安全且用户友好的方式操作数据。本篇博文将带你了解什么是视图、如何创建它们,以及如何有效地使用视图来简化你的数据库操作。##什......
  • mysql 中索引类型有哪些,以及对数据库的性能的影响?
    索引类型普通索引:允许被索引的数据列包含重复的值唯一索引:可以保证数据记录的唯一性主键索引:是一种特殊的唯一素引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字primarykey来创建联合索引:索引可以覆盖多个数据列全文索引:通过建立倒排索引,可以极大......
  • 分布式任务调度内的 MySQL 分页查询优化
    作者:vivo互联网数据库团队- QiuXinbo本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题。对于数据分布不均如何发现,提供了一些SQL查询案例来进行参考,对MySQLIndexConditionPushdown......
  • mySql 存储过程与函数
    过程CREATEDEFINER=`root`@`%`PROCEDURE`clearDate_Jk`()LANGUAGESQLNOTDETERMINISTICCONTAINSSQLSQLSECURITYDEFINERCOMMENT''BEGINDELETEFROMsys_deptWHEREcreate_time>'2023-12-31';truncatetablesys_file;ENDCREAT......
  • MySQL大师课:36秘技解锁数据库性能与管理新高度?
     ......
  • Linux安装卸载MySQL
    大家好,我是Java陈序员。今天,给大家分享下在Linux环境中如何安装卸载MySQL.关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。MySQL安装准备一台Linux服务器下载Linux版MySQL安装包下载地址:https://downloads.m......