我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql 升级和降级

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql 升级和降级

1 官方推荐的两种升级方式:

in-place upgrade

logical upgrade


2 升级之前:

备份所有数据库,包括系统库mysql

[root@Darren1 ~]# mysqldump -uroot -p147258 -A -B  -F --master-data=2 --events --single-transaction>/tmp/mysqlall.bak

下载5.7.16二进制包,上传解压到/opt/mysql/目录下


3升级演示:5.7.14升级到5.7.16


方法一: in-place upgrade:

设置数据库关闭方式为slow方式,缓存中的数据在关闭之前全部落地:

[root@Darren1 data]# mysql -uroot -p147258 -e 'set global innodb_fast_shutdown=0;'


停止数据库服务:

[root@Darren1 data]# mysqladmin -uroot -p147258 shutdown


把之前5.7.14的软链接/usr/local/mysql删除,重新建立5.7.16软链接:

[root@Darren1 local]# rm -rf /usr/local/mysql

[root@Darren1 local]# ln -s /opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql


启动数据库服务:

[root@Darren1 ~]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &


检查所有库中所有表的兼容性:

[root@Darren2 data]# mysql_upgrade -uroot -p147258


检查结束后会在datadir目录下生成mysql_upgrade_info文件,记录了数据库版本。

停止数据库服务:

[root@Darren1 data]# mysqladmin -uroot -p147258 shutdown


启动数据库服务:

[root@Darren1 ~]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &

把启动5.7.16的启动脚本mysql.server复制到/etc/init.d/下,替代旧的mysqld.

[root@Darren1 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld



方法二:logical-upgrade


把mysql所有库导出来:

[root@Darren1 local]# mysqldump -uroot -p --add-drop-table --routines --events --all-databases --force >/tmp/data-for-upgrade.sql


停数据库服务:

[root@Darren1 local]# mysqladmin -uroot -p shutdown


创建新的目录存放5.7.16:

[root@Darren1 ]# mkdir -p /data/mysql/mysql3307/{data,logs,tmp}

[root@Darren1 data]# chown -R mysql:mysql /data/mysql/mysql3307


删除旧的软链接,重新创建软连接:

[root@Darren1 mysql]# ln -s /opt/mysql/mysql-5.7.16-linux-glibc2.5-x86_64 /usr/local/mysql


复制新的配置文件,并修改端口号为3307:

[root@Darren2 mysql3307]# cp /etc/my.cnf /data/mysql/mysql3307/my3307.cnf

[root@Darren2 mysql3307]# sed -i 's#3306#3307#g' my3307.cnf


指定配置文件初始化:

[root@Darren1 bin]# ./mysqld --initialize --defaults-file=/data/mysql/mysql3307/my3307.cnf 


查看错误日志,找到密码:

[root@Darren1 bin]# cat /data/mysql/mysql3307/data/error.log |grep password

2016-11-24T14:35:59.219125Z 1 [Note] A temporary password is generated for root@localhost: kU+Ve&lo6a/j


指定3307配置文件,启动数据库服务:

[root@Darren1 bin]# ./mysqld_safe --defaults-file=/data/mysql/mysql3307/my3307.cnf &


指定sock文件登陆,输入前面查看的密码:

[root@Darren1 bin]# mysql -uroot -p -S /tmp/mysql3307.sock

Enter password:   


重新修改密码:

mysql>alter user user() identified by '147258';


导入之前备份数据:

[root@Darren1 bin]# mysql -uroot -p -S /tmp/mysql3307.sock --force </tmp/data-for-upgrade.sql   


检查兼容性:

[root@Darren1 bin]# mysql_upgrade -uroot -p -S /tmp/mysql3307.sock


关闭服务器:

[root@Darren1 bin]# mysqladmin -uroot -p shutdown -S /tmp/mysql3307.sock

用5.7.16二进制包重新建立3307实例,把旧的5.7.14版本的3306实例数据导出,然后导入3307实例中,测试3307实例确保没有问题,然后删除3306实例,把3307实例端口改为3306.


4 降级演示:5.7.16降级5.7.14


方法一:in-place downgrade


设置数据库关闭方式:

[root@Darren1 local]# mysql -uroot -p -e 'set global innodb_fast_shutdown=0;'                       

停止数据库服务:

[root@Darren1 local]# mysqladmin -uroot -p shutdown


删除redolog文件:

[root@Darren1 data]# rm -rf /data/mysql/mysql3306/data/ib_logfile*


删除5.7.16软链接,并重新创建5.7.14软连接:

[root@Darren1 local]# rm -rf /usr/local/mysql

[root@Darren1 local]# ln -s /opt/mysql/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql


启动数据库服务:

[root@Darren1 local]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &


降级检查:

[root@Darren1 local]# mysql_upgrade -uroot -p


停止数据库服务,重新启动数据库服务:

[root@Darren1 local]# mysqladmin -uroot -p shutdown

[root@Darren1 local]# mysqld_safe --user=mysql --datadir=/data/mysql/mysql3306/data &



方法二:logical downgrade


备份降级前的所有库和表:

[root@Darren1 ~]# mysqldump -uroot -p147258 --add-drop-table --routines --events --all-databases --force> /tmp/data-for-downgrade.sql

初始化:

[root@Darren1 bin]# ./mysqld --defaults-file=/data/mysql/mysql3307/my3307.cnf --initialize

[root@Darren1 bin]# ./mysqld_safe --defaults-file=/data/mysql/mysql3307/my3307.cnf &

[root@Darren1 bin]# mysql -uroot -p -S /tmp/mysql3307.sock

mysql>alter user user() identified by '147258';

[root@Darren1 bin]# ./mysql -uroot -p147258 -S /tmp/mysql3307.sock</tmp/data-for-downgrade.sql

[root@Darren1 bin]# ./mysql_upgrade -uroot -p147258 --skip-version-check -S /tmp/mysql3307.sock

以上步骤,部分省略,可参考5.7官方文档。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql 升级和降级

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql:基础管理、体系结构、升级降级

基础管理1.1 用户管理1.2 权限管理1.3 连接管理1.4 初始化配置文件1.4.1 作用 port=3306~/.my.cnf - port=3308数据库启动时,port是多少?手工定义配置文件读取路径mysqld --defaults-fil

	mysql:基础管理、体系结构、升级降级
2017-04-03

Oracle进行数据库升级和降级的操作代码

目录oracle升级1. 准备工作a. 检查版本兼容性b. 阅读升级文档2. 备份现有数据库示例:使用mysqldump备份MySQL数据库3. 测试备份4. 升级前的检查示例:MySQL升级检查5. 安装新版本的数据库软件示例:使用APT
Oracle进行数据库升级和降级的操作代码
2024-09-26

阿里云ecs升级降配

阿里云ECS升级降配是指在阿里云上运行的ECS实例的CPU、内存、带宽等配置发生变化的过程。这个过程通常是为了满足业务的需求而进行的,比如提高或降低服务器的性能、优化成本等。阿里云ECS升级降配可以通过两种方式实现:一是手动操作,二是自动调度。手动操作需要通过控制台或API来完成,需要一定的技术知识和经验。自动调度则可
阿里云ecs升级降配
2024-01-19

Linux中软件包升级与降级操作

在Linux中,软件包的升级和降级操作可以通过包管理器来实现升级操作:对于基于Debian的系统(如Ubuntu):sudo apt updatesudo apt upgrade对于基于RPM的系统(如Fedora、CentOS):s
Linux中软件包升级与降级操作
2024-09-24
2024-04-02

关于R语言包的升级与降级问题

这篇文章主要介绍了R语言包的升级与降级问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-13

升级Windows 10正式版后能降级吗?企业用户一个月内可以降级

绝大部分人对于Windows 10的评价都还是挺正面的,这款系统预计会在7月29日正式发布。从Windows 8的表现来看,理论上应该不会有什么期望未来对系统降级吧?(Windows 7用户除外)不过这不意味着那些OEM合作伙伴不会做这方面
2023-06-17

win环境下node版本怎么切换?(升级降级)

node版本怎么切换?下面本篇文章给大家介绍一下win环境下node版本升级降级的教程,希望对大家有所帮助!
2022-11-22

java bcprov 国密 依赖 jar包 版本 升级 降级 教程

java bcprov 国密 依赖 jar包 版本 升级 降级 教程 前言一、org.bouncycastle下面的bcprov版本有哪些?更新说明 二、升级降级说明1、基线版本(1)引入依赖(2)关键代码CipherSM
2023-08-17

win8.1怎么降级win7? win8.1降回win7降级方法

使用了win8.1系统很多用户还不习惯,那么win8.1怎么降级win7? 本文我们就一起来看看win8.1降回win7降级方法,有需要的网友们可以过来参考一下。 win8.1怎么降级win7? win8.1降回win7降级方法微软英文官网
2022-06-04

编程热搜

目录