mysql降级导入_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

检查兼容性:

[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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/504896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python process_Python Process/Thread 概念整理

进程与线程 并发与并行进程与线程首先要理解的是,我们的软件都是运行在操作系统之上,操作系统再控制硬件,比如 处理器、内存、IO设备等。操作系统为了向上层应用程序提供 简单一致 的机制来控制复杂而又大相径庭的低级硬件设备 抽象出 进程 的…

mysql技术内幕sampdb_MySQL技术内幕汇总

MySql技术内幕之MySQL入门(1)检查系统中是否已经安装了MySQLsudo netstat -tap | grep mysql若没有显示已安装结果,则没有安装。否则表示已经安装。sudo apt-get install mysql-server mysql-client安装过程中会让输入密码,记得把密码记住。登录mysql -u…

lrtemplate如何导入pr_PR模板使用套路讲解 视频剪辑教程

​pr模板在使用的时候需要注意的事项以及如何正确操作https://www.zhihu.com/video/1237765482302226432pr模板在使用的时候需要【注意的事项】1、下载的模板必须解压后使用2、下载模板的时候网站上页面都会有介绍模版所支持的版本3、弹出不同版本的提示窗口,点击确…

linux没有usr目录_了解linux系统目录,sys,tmp,usr,var!

linux小白到大神的成长之路:了解linux系统目录,sys,tmp,usr,var!本经验由宗龙龙原创,全文共600多字,阅读需要14分钟,如果文中存在错误,还请大家多多指点,我会积极改进的!​这篇文章将…

effective python目录_Effective python(七):协作开发

一,文档字符串1, 在函数,类,模块(顶端编写)下使用三个"""括起来内容即可2, 文档被关联到__doc__属性中,应尽量充分的描述其用法,作用,异常等等二,使用包来…

实用卷积神经网络 运用python pdf_解析卷积神经网络—深度学习实践手册 中文pdf高清版...

解析卷积神经网络—深度学习实践手册从实用角度着重解析了深度学习中的一类神经网络模型——卷积神经网络,向读者剖析了卷积神经网络的基本部件与工作机理,更重要的是系统性的介绍了深度卷积神经网络在实践应用方面的细节配置与工程经验。笔者希望本书“…

mysql语言和php语言_MySQL如何与PHP编程语言一起使用?

MySQL与PERL,C,C ,JAVA和PHP等各种编程语言结合使用时效果很好。在这些语言中,PHP因其Web应用程序开发功能而成为最受欢迎的语言。PHP提供了各种功能来访问MySQL数据库并处理MySQL数据库内部的数据记录。您将需要以与调用其他任何…

svd奇异值分解_奇异值分解SVD

点击上方蓝字关注我们奇异值分解(SVD)在计算机视觉中有着广泛的应用,如数据降维、推荐系统、自然语言处理等。本文是介绍SVD的数学计算过程,并从SVD的性质说明其应用的原理。01特征值与特征向量奇异值分解(SVD)与特征分解类似,是将矩阵分解为…

python turtle画房子详细解释_[宜配屋]听图阁

我就废话不多说了,直接上代码吧!import turtletturtle.Turtle()turtle.Turtle().screen.delay(0)tleftturtle.Turtle()#第一部分t.penup()t.goto(0,0)t.pendown()t.left(20)t.forward(110)t.left(25)t.forward(40)t.left(100)t.circle(180,20)t.right(12…

简易航空订票系统_四川航空APP全新升级改版,三大亮点提升订票体验

成都2015年10月23日电 /美通社/ -- 四川航空发布手机APP全新的3.0版本,不仅针对界面风格做了全新改变,在iOS9、安卓系统上的展示更加炫丽;而且在机票预订、航班动态、特价机票方面均做了大幅升级,会员服务也更加贴心。对于有机票需…

python可视化分析网易云音乐评论_网易云音乐热门评论api分析

网上有现成的例子我就扒过来了!!title: 网易云评论api分析date: 2018-12-24 20:54:46tags: [python]网易云音乐是个好地方,里面各个都是人才,特别是评论区……所以我就想把评论爬下来看看,下面记录一下分析api的过程与…

python 功能化模块_【软件测试教程】Python模块化以及内置模块的使用

一:什么是模块模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。二:模块类型1:自定义模块由编程人员自己写的模块。自定义模块时要注意命名&#xff0…

spring 上下文_一次性教你彻底理解 Spring容器和应用上下文!

作者:陈本布衣www.cnblogs.com/chenbenbuyi有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协助…

oracle plsql 到处dbf_plsql 导出oracle数据库

plsql 导出数据库有两个问题,一个是只导出结构,一个是导出表结构加数据这样的,首先人家让我导成sql语句这不是简单,首先打开PLSQL一、导出结构1、然后tools->Export User Objects..然后出来一片空白2、要选择哪个User3、上面会…

python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的

前言前几天爬的今天整理了一下发现就两个需要注意的点一是记得用带cookie的方式去访问,也就是实例化requests.session()二是转化一下爬取到的url,访问爬到的url得到返回的Location值,该值便是真实的地址(如果你不是要爬url当我没说)知道了这两…

spring aop设计模式_Spring框架中设计模式的运用

设计模式大家可能随口就能说出总共有23种,但是具体怎么用,或者在常用的组建中有哪些体现,这时候不一定说的上来了。接下来几篇文章,我们一起深入理解。首先我们一起了解下常用的组建中是怎么运用的,比如 JDK、Sring、M…

使用yum命令安装mysql_Linux Centos 下使用yum 命令安装mysql实现步骤

linux centos 下使用yum 命令安装mysql实现步骤1. 查看服务器中有没有安装过mysql1. 查看有没有安装包:yum list mysql*#移除已经安装的mysqlyum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf2. 查看是否还有mysql软件:rpm -qa|gr…

sql unicode转中文_SELECT语句《SQL必知必会》

数据库中有哪些数据类型?数据库中最常用对数据类型有三种:Text(文本)、Number(数字)和 Date/Time。文本类型:即字符串,如“nameasdas”数字类型:十进制数字,如…

mpython 直接访问_如何从python代码中直接访问Android的Service

在Kivy中,通过pyjnius扩展可以间接调用Java代码,而pyjnius利用的是Java的反射机制。但是在Python对象和Java对象中转来转去总让人感觉到十分别扭。好在android提供了binder这个进程间通信的功能,Java中的Service也是基于Binder的C代码封装来实…

python中attr_python中hasattr()、getattr()、setattr()函数的使用

引言:在阅读高手写的代码时,有很多简写的形式,如果没有见过还真的看不太懂是什么意思,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setattr()函数的使用也一并学习…