iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql 升级和降级
  • 403
分享到

mysql 升级和降级

2024-04-02 19:04:59 403人浏览 独家记忆
摘要

1 官方推荐的两种升级方式:in-place upgradelogical upgrade2 升级之前:备份所有数据库,包括系统库Mysql[root@Darren1 ~]# mysqldump -uroo

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官方文档。


您可能感兴趣的文档:

--结束END--

本文标题: mysql 升级和降级

本文链接: https://www.lsjlt.com/news/43942.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • mysql 升级和降级
    1 官方推荐的两种升级方式:in-place upgradelogical upgrade2 升级之前:备份所有数据库,包括系统库mysql[root@Darren1 ~]# mysqldump -uroo...
    99+
    2022-10-18
  • mysql:基础管理、体系结构、升级降级
    基础管理 1.1 用户管理 1.2 权限管理 1.3 连接管理 4 初始化配置文件 1.4.1 作用 port=3308 数据库启动时,port是多少? 手工定义配置文件读取路径 mysqld --defaults-file=/...
    99+
    2017-04-03
    mysql:基础管理 体系结构 升级降级 数据库入门 数据库基础教程 数据库 mysql
  • flutter升级、降级操作步骤
    flutter升级、降级操作步骤 升级降级终端操作总览 升级 打开运行终端 直接输入flutter upgrade 版本号 降级 需要先确定想要降级的版本号。 切换到系统安装flut...
    99+
    2023-09-28
    flutter
  • mysql升级(物理升级)
    mysql升级是经常要做的工作,整理下升级步骤(物理升级) 1,关闭mysql服务 2,高版本软件覆盖低版本软件(替换掉basedir) 3,赋予新的高版本软件mysql权限 4,使用新的软件开启数据库 5...
    99+
    2022-10-18
  • MySQL升级
    一、概述 Linux MySQL 5.7二进制 小版本升级,升级前需要备份数据和mysql主配置文件my.cnf 对数据字典的升级数据字典有:mysql、information_schema、perform...
    99+
    2022-10-18
  • 升级至iOS17公测版系统后如何降级?iOS 17 Beta降级详细教程
    苹果最近发布iOS 17首个公测版,许多果粉都迫不及待地进行了更新。但是不少小伙伴升级iOS 17后iPhone遇到了一些问题,例如APP闪退、吃内存、耗电快等。Bug太多导致体验很差,想要降级到iOS 16系统。 升级iOS 17bet...
    99+
    2023-09-11
    cocoa macos objective-c
  • 关于R语言包的升级与降级问题
    R语言包的升级与降级 这篇博客只是记录一下在使用偏最小二乘判别分析时遇到的一些问题: 暑期实习期间曾自行使用R语言caret包进行机器学习某些方法的训练,在训练过程中需要对某些包进行...
    99+
    2022-11-13
    R语言包 R语言包升级 R语言包降级
  • 升级Windows 10正式版后能降级吗?企业用户一个月内可以降级
    绝大部分人对于Windows 10的评价都还是挺正面的,这款系统预计会在7月29日正式发布。从Windows 8的表现来看,理论上应该不会有什么期望未来对系统降级吧?(Windows 7用户除外)不过这不意味着那些OEM...
    99+
    2023-06-17
    Windows 10 升级 用户 企业
  • win环境下node版本怎么切换?(升级降级)
    由于不同的项目和一些老项目,可能node版本会不兼容,导致项目跑不起来给大家总结了一套切换node版本的教程,请采纳(示例电脑:戴尔)。【相关教程推荐:nodejs视频教程】1.首先在黑窗口 输入where node 查找到nod...
    99+
    2022-11-22
    nodejs​ node javascript
  • Node版本升级和降级之node版本管理工具nvm详解
    目录前言nvm是什么下载安装nvm常用nvm命令补充:命令提示翻译总结前言 有时候,不同的项目需要使用不同的node版本。我们可以使用nvm管理不同的node版本。 nvm是什么 n...
    99+
    2022-11-13
  • win8.1怎么降级win7? win8.1降回win7降级方法
    使用了win8.1系统很多用户还不习惯,那么win8.1怎么降级win7? 本文我们就一起来看看win8.1降回win7降级方法,有需要的网友们可以过来参考一下。 win8.1怎么降级win7? win8....
    99+
    2022-06-04
    方法 降回
  • 升级Windows10之后可以降级吗?(30天内可反悔)
    Windows10操作系统将于10天后(7月29日)正式发布,届时Windows7、Windows 8.x用户将可以免费升级。对于其他用户,Windows10家庭版的售价为119美元(约合人民币739元),专业版售价为1...
    99+
    2023-06-17
    Windows10
  • java bcprov 国密 依赖 jar包 版本 升级 降级 教程
    java bcprov 国密 依赖 jar包 版本 升级 降级 教程 前言一、org.bouncycastle下面的bcprov版本有哪些?更新说明 二、升级降级说明1、基线版本(1)引入依赖(2)关键代码CipherSM...
    99+
    2023-08-17
    java 算法 jar
  • mysql怎么升级
    mysql怎么升级?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql怎么升级1.从官网下载mysql新版本软件包2.卸载...
    99+
    2022-10-18
  • 如何升级MySQL
    这篇文章主要为大家展示了“如何升级MySQL”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何升级MySQL”这篇文章吧。MySQL升级的概述MySQL升级的实...
    99+
    2022-10-18
  • MySQL如何升级
    这篇文章给大家分享的是有关MySQL如何升级的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 MySQL5.7新增了不少新功能,比如:Online DDL、多源复制、增强半同步...
    99+
    2022-10-18
  • Chapter 2 安装 和升级 MySQL
    2.1 通用安装向导2.1.1 决定安装那个版本 的mysql 2.1.2 如何获取 MySQL2.1.3 安装布局 Layouts(布局)2.1.4 编译指定特性Compiler-Specific Bui...
    99+
    2022-10-18
  • MySQL 5.6升级至MySQL 5.7--------版本升级最佳实战
    1. 背景   MySQL 5.7是当前MySQL最新版本,与MySQL 5.6版本相比,有如下特征  * 性能和可扩展性:改进 InnoDB 的可扩展性和临时表的性能,从而实现更快的网...
    99+
    2022-10-18
  • 不搞强制升级 Win10移动版可随时降级回WP8.1
    在今年3月份中旬,微软已经面向wp8.1设备正式推送Win10 Mobile系统更新,但用户和微软都清楚,Win10 Mobile相比WP8.1来说又是一个全新的移动系统。WP8.1用户升级Windows10之后可能会不...
    99+
    2023-05-20
    Win10 WP8.1
  • MySQL压缩包版升级:8.0.32升级到8.0.33(Linux)
    背景:请安全公司来扫描系统发现了mysql版本低,有漏洞,需要升级版本 不哔哔,直接上步骤: 1.备份数据库数据 # 1.查看datadir位置,进行数据文件备份[root@localhost ~]# cat /etc/my.cnf |gr...
    99+
    2023-09-27
    mysql linux 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作