添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

1.1.MySQL提供mysql-shell验证方式,可以下载后进行验证:

下载shell验证文件:
https://cdn.mysql.com/archives/mysql-shell/mysql-shell-8.0.27-linux-glibc2.12-x86-64bit.tar.gz

验证是否可以升级成功(验证的时候出现了几个错误没去处理,升级后倒时也没发现问题,如果是生产环境下还是要小心一些)

# 验证mysql升级
[root@localhost] tar -xf mysql-shell-8.0.27-linux-glibc2.12-x86-64bit.tar.gz
[root@localhost] cd mysql-shell-8.0.27-linux-glibc2.12-x86-64bit/bin
[root@localhost] ./mysqlsh -uroot -p'123456' -S /tmp/mysql.sock -e "util.checkForServerUpgrade()"

1.2. 备份原数据库(防止升级过程中出现问题,导致数据丢失,有条件建议异地备份)

[root@localhost] mysqldump -uroot -p'123456' --all-databases  --lock-tables=0 > all.sql.bak.20220412
[root@localhost] mv all.sql.bak.20220412 /data/backup/mysql/

1.3.下载MySQL8.0

下载地址:mysql:https://downloads.mysql.com/archives/community/
选择文件:mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

# 解压mysql8.0:
[root@localhost] tar -xf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
# 移动到指定目录
[root@localhost] mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql8
# 更改文件夹所属
[root@localhost] chown -R mysql.mysql /usr/local/mysql8/

二、升级过程配置

2.1. 修改mysql配置文件,主要是mysql8.0部分,及sql_mode中的NO_ENGINE_SUBSTITUTION

# 编辑配置文件
[root@localhost] vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
log-bin=mysql-bin
server-id=170
character_set_server=utf8
init_connect='SET NAMES utf8'
#basedir=/usr/local/mysql
#datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names =1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'
max_allowed_packet = 32M
#default_password_lifetime=90
#wait_timeout=600
# mysql8.0 add
collation-server=utf8_general_ci
basedir=/usr/local/mysql8
datadir=/usr/local/mysql/data
skip_ssl
default_authentication_plugin=mysql_native_password

2.2 开始升级

# 进入原mysql命令行
[root@localhost] mysql -uroot -p'123456'
# 查看mysql版本
mysql> select version();
+------------+
| version()  |
+------------+
| 5.7.26-log |
+------------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1     |
+----------------------+-------+
1 row in set (0.00 sec)
# 确保数据都刷到硬盘上,更改成0
mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)
mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;

使用安全模式启动mysql8.0,正常启动后可以进入到mysql命令行,如果没启动成功,需要查看日志cat /var/log/mysqld.log解决后,再进入命令行

# 使用mysql8.0启动
[root@localhost] /usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
# 进入mysql命令行
[root@localhost] mysql -uroot -p'123456'
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.27    |
+-----------+
1 row in set (0.00 sec)
mysql> exit;

2.2 配置环境变量

[root@localhost] vim /etc/profile
# add mysql
export PATH=$PATH:/usr/local/mysql8/bin
# 使环境变量生效
[root@localhost] source /etc/profile

查看客户端版本配置

# 验证版本
[root@localhost] which mysql
/usr/local/mysql8/bin/mysql
# 查看版本
[root@localhost] mysql -V
mysql  Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)

如果客户端版本不正确,可以修改软链接,再重新查看

# 修改软链接
[root@localhost] ln -snf /usr/local/mysql8/bin/mysql /usr/bin/mysql

三、配置启动项

[root@localhost] cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld
# 修改启动项目
[root@localhost] vim /etc/init.d/mysqld
# 修改目录位置
basedir=/usr/local/mysql8
datadir=/usr/local/mysql/data
# 添加到启动列表 
[root@localhost] chkconfig --add mysqld
# 刷新启动信息
[root@localhost] systemctl daemon-reload
# 查看启动项列表
[root@localhost] chkconfig --list

重新启动服务器没有成功,启动的时候报错没有mysqld.pid文件,创建后启动成功

# 重启动无法创建mysqld.pid文件处理方法
[root@localhost] cat /var/log/mysqld.log
[root@localhost] cd /run
[root@localhost] mkdir mysqld
[root@localhost] chown -R mysql.mysql ./mysqld
[root@localhost] cd mysqld
[root@localhost] touch mysqld.pid
[root@localhost] chown -R mysql.mysql ./mysqld.pid
[root@localhost] service mysqld start
Starting MySQL.. SUCCESS!

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

该包中包含一键安装mysql5.7mysql8.0脚本,分为mysql二进制包安装和yum安装,并一起部署MySQL备份策略 用于快速部署mysql场景,适合多项目快速部署 备份工具为xtrabackup
MySQL5.7升级MySQL8.0 因为一个项目交接需要需要将mysql物理备份文件还原至MySQL5.7。并且将mysql5.7升级MySQL8.0 1.升级前准备及注意事项 首先,我们要大概了解下MySQL5.78.0有哪些不同,参考官方文档和其他网友文章,概括总结出MySQL8.0以下几点新特性: 默认字符集由latin1变为utf8mb4。 MyISAM系统表全部换成InnoDB表。 JSON特性增强。 支持不可见索引,支持直方图。 sql_mode参数默认值变化。 默认密码策略变
升级前准备,了解5.78.0版本有何区别,本文主要为升级操作文档,具体建议参考官方文档,概括性的有以下几点: 》默认字符集由latin1变为utf8mb4 》支持隐藏索引,索引可以被隐藏和显示 》用户创建,修改和授权 》sql_mode参数默认值变化 》支持窗口函数等 》sql_mode参数默认值变化 以下为升级8.0需要配置文件中新增的参数配置 rpm -qa | grep -i mysql 删除上面安装的软件 rpm -ev mysql-community-libs-5.7.27-1.el6.x86_64 --nodeps rpm -ev xxx --nodeps 都删除成功之后,查找相关的mysql的文件.
1.备份旧的MySQL5.7的数据 记得首先要备份旧的数据,防止升级失败导致数据丢失。备份的方式有两种,一种是在宿主机直接执行导出命令,另外一种是先进入Docker环境下进行操作。主要的导出命令如下: #方式一,直接在宿主机器进行数据备份 # 0df568 是docker的id ;-uroot -p123456 是用户名和密码;dbA dbB是要备份的数据,--databases 后面可以接多个数据库名,导出的sql到/root/all-databases3306.sql docker exec -it 0df568 mysqldump -uroot -p123456 --databases
mysql5.7版本: 方法1: 用SET PASSWORD命令   格式:mysql> set password for 用户名@localhost = password(‘新密码’);  例子:mysql> set password for root@localhost = password(‘123’);  mysql5.7mysql8.0以上都可以用 方法2:用mysqladmin   格式:mysqladmin -u用户名 -p password 新密码  例子:mysqladmin -uroot -p password 123  mysql5.7版本 方法3:用UPDATE直接编
升级 MySQL 5.7MySQL 8. 的步骤如下: 1.备份数据:在升级之前,务必备份 MySQL 5.7 的数据,以便在升级过程中出现问题时可以恢复数据。 2.升级 MySQL 客户端:在升级 MySQL 服务器之前,需要先升级 MySQL 客户端,以确保客户端与新版本的服务器兼容。 3.升级 MySQL 服务器:升级 MySQL 服务器需要下载新版本的 MySQL 安装包,并按照安装向导进行安装。在安装过程中,需要选择升级现有的 MySQL 5.7 实例,而不是创建新的实例。 4.检查配置文件:在升级完成后,需要检查 MySQL 8. 的配置文件,以确保与原来的配置文件相同或者进行必要的修改。 5.启动 MySQL 8.:在检查完配置文件后,可以启动 MySQL 8. 服务器,并进行必要的测试和调整。 需要注意的是,在升级过程中可能会出现一些问题,例如数据不兼容、配置文件不兼容等。因此,在升级之前,建议先在测试环境中进行测试,以确保升级过程顺利进行。
CSDN-Ada助手: 非常感谢博主的辛苦付出和分享,这篇博客真是太棒了!详细的步骤和清晰的实现过程,让我从中学到了很多。希望博主能够继续创作,分享更多的知识。我相信,您的专业知识和经验一定会对我们这些初学者产生很大的帮助。再次感谢您的付出! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。 java面试100题(应届生必备) qq_52832188: 这个社区抄袭现象也忒言重了吧 MySQL 5.7升级到8.0详细过程 猩猩系统: 引用「mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz」 这个glibc2找不到 华为OD的五轮面试总结 goldarmour: 华为od机试2023新题库c++/python代码分享:https://blog.csdn.net/goldarmour/article/details/129807099 华为OD的五轮面试总结 MISAYAONE: 华为OD 2023/2022 最新机试真题及讲解,100%通过率,考到原题概率很大! Java: https://renjie.blog.csdn.net/article/details/127947829 Python: https://renjie.blog.csdn.net/article/details/127946125 C++: https://renjie.blog.csdn.net/article/details/126965954 Js: https://renjie.blog.csdn.net/article/details/128974467 C: https://renjie.blog.csdn.net/article/details/129190260