mysql 5.6.34 二进制下载,MySQL-5.6.34版本二进制升级5.7.20版本

MySQL-5.6.34版本二进制升级5.7.20版本

MySQL升级的实质:

对数据字典的升级

数据字典有:mysql、information_schema、performance_schema、sys schema。

MySQL升级的两种方式:

in-place upgrade:

适合小版本的升级。

即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade.

特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.5—>5.7).

logical upgrade:

适合不同操作系统的MySQL升级,大版本之间的升级。

即:使用mysqldump 或 mydumper 导入导出数据,实现版本的升级。

特点:可以跨操作系统,跨大版本;但,升级速度慢,容易出现乱码等问题。

升级前的准备:

提前做好备份。

了解新版本变更的信息(哪些不再兼容,不再支持哪些功能)

在官方网站的general information—>what is new in mysql 5.7

升级的注意事项:

确认新版本是否有重大变更

注意 SQL mode 的变化,比如:在MySQL5.7中发生了SQL mode的变化,对不再支持的SQL mode,部分SQL会跑不通。此时可以清空SQL mode,跑完之后在设置SQL mode。

升级成功后,确认业务SQL是否可以跑通

程序层是否都正常,有时原使用的程序语言部分内容不被支持新版本数据库。比如,有一次在5.1时用的是PHP4.0,但升级5.6,PHP的某些函数不被支持。

在升级完成之后,一定要在测试时使用和线上版本相同的程序,测试是否存在问题。

注意字符集的乱码问题

接下来是,使用in-place upgrade方式,将MySQL5.6升级到MySQL5.7。

快速二进制安装5.6.34版本MySQL

[root@mysql-upgrade ~]# yum -y install autoconf libaio

[root@mysql-upgrade ~]# wget http://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

或者

[root@mysql-manager tools]# wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

[root@mysql-upgrade ~]# tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

[root@mysql-upgrade ~]# mv /usr/local/mysql-5.6.34-linux-glibc2.5-x86_64/ /usr/local/mysql-5.6.34

[root@mysql-upgrade ~]# useradd -s /sbin/nologin mysql -M

[root@mysql-upgrade ~]# chown -R mysql.mysql /usr/local/mysql-5.6.34

[root@mysql-upgrade ~]# ln -s /usr/local/mysql-5.6.34 /usr/local/mysql

[root@mysql-upgrade ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql -basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

[root@mysql-upgrade ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile

[root@mysql-upgrade ~]# source /etc/profile

添加systemd管理

[root@mysql-upgrade ~]# vim /etc/systemd/system/mysqld.service

[Unit]

Description=MySQL Server

Documentation=man:mysqld(8)

Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html

After=network.target

After=syslog.target

[Install]

WantedBy=multi-user.target

[Service]

User=mysql

Group=mysql

ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE = 5000

修改配置文件并启动

[root@mysql-upgrade ~]# vim /etc/my.cnf

[mysqld]

user=mysql

bind-address=0.0.0.0

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

server_id=1

[mysql]

socket=/tmp/mysql.sock

[root@mysql-upgrade ~]# systemctl start mysqld

检查当前MySQL版本

创建一个olda库

[root@mysql-upgrade ~]# mysql -e "create database olda charset utf8mb4;"

[root@mysql-upgrade ~]# mysql -e "show databases;"

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| olda |

| performance_schema |

| test |

+--------------------+

升级MySQL版本

下载并解压新版本包

[root@mysql-upgrade ~]# wget https://downloads.mysql.com/archives/get/file/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

[root@mysql-upgrade ~]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

[root@mysql-upgrade ~]# mv /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.20

停止5.6版本MySQL服务

[root@mysql-upgrade ~]# systemctl stop mysqld

删除mysql-5.6.34软连接

# 注意:尾部不要加/号,否者就是删除源目录下的数据,并不是删除软连接了

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

对mysql-5.7.20添加软连接

[root@mysql-upgrade ~]# ln -s /usr/local/mysql-5.7.20 /usr/local/mysql

拷贝数据路径与授权

[root@mysql-upgrade ~]# cp -a /usr/local/mysql-5.6.34/data /usr/local/mysql-5.7.20/

[root@mysql-upgrade ~]# chown -R mysql.mysql /usr/local/mysql-5.7.20

[mark_e]systemd管理配置与my.cnf配置文件都是写的软连接的路径,并不需要修改路径问题[/mark_e]

启动MySQL并更新系统库

[root@mysql-upgrade ~]# systemctl start mysqld

[root@mysql-upgrade ~]# mysql_upgrade

重启MySQL服务

[root@mysql-upgrade ~]# systemctl restart mysqld

检查MySQL版本与olda库

[root@mysql-upgrade ~]# mysql -e "select @@version;"

[root@mysql-upgrade ~]# mysql -e "show databases"

当前系统已经成功升级了MySQL版本!!!

MySQL-5.6.34版本二进制升级5.7.20版本相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值