linux下mysql小版本升级(生产环境、二进制)

本文章提供一下本人的升级方案,真实环境可能会有各种不同,自己看情况处理,小版本升级其实并没有多复杂,注意点my.cnf配置文件就行,如果系统自带mariadb,修改配置文件时别和mariadb的自带路径冲突了,会导致一些报错。

由于工作需要,发现mysql5.7.30存在安全漏洞需要升级到mysql5.7.33,本次涉及到的生产服务器清单如下:

1.192.168.7.3   (ip随意填的,生产环境根据服务器ip自行修改)

2.192.168.7.5

·操作系统版本centos7.6

一、文件备份(时间建议:凌晨0点以后)

  1. 上传mysql5.7.33glibc二进制安装包至数据库服务器 (二进制包在网上下载,想升级什么版本就下载什么版本)
  2. 查询数据存储目录路径,数据库路径,(vi /etc/my.cnf   这个文件里面一般都有路径,也可以用find命令查找mysql路径,推荐在my.cnf文件里面看,find / -name mysql)
  3. 数据存储目录默认为:/var/lib/data。
  4. 数据库路径为:/home/data/mysql  (我自己生产服务器的数据库路径,读者可根据自己的环境修改)
  5. 备份:#cp -rp   /var/lib/data   /home/mysql_bak/
  6. 备份my.cnf文件  #cp -rp my.cnf  /home/mysql_bak/      

二、部署(将mysql5.7.33的二进制包上传至服务器/usr/local/目录)

  1. 基础环境安装:#yum install libaio-devel ncurses-devel cmake gcc gcc-c++ bison -y
  2. tar -zxvf mysql-5.7.33-linux-glibc2.5-x86_64.tar.gz
  3. mv mysql-5.7.33-linux-glibc2.5-x86_64 /usr/local/mysql
  4. cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  5. chown -R mysql:mysql /usr/local/mysql/
  6. Chmod -R 755 /usr/local/mysql/
  7. Chmod 755 /var/lib/mysqld.log
  8. 将basedir=/usr/local/mysql  datadir=  socket=  这些路径按照自己实际情况加入到my.cnf文件里面,因为用的是原my.cnf,所以应该没有太多需要修改的地方,只需要注意一下mysql的安装路径别弄错了就行。

三、

  1. 停止从库(需要先停止主从再进行 确定 binlog 同步后,在进行锁定等其他操作,如果没有主从,不需要这一步

主数据库:192.168.7.3   从库:192.168.7.5

执行STOP SLAVE语句

使用SHOW STATUS检查slave_open_temp_tables变量的值

如果值为0,使用mysqladmin shutdown命令关闭从服务器

2.备份数据库,备份前设置锁,只读备份前确认没有服务调用数据库

mysql> flush tables with read lock;
Query OK, 0 rows affected (0.00 sec)

备份整个数据库

[root@test1 tmp]# mysqldump -u root -p --add-drop-table --routines --events --all-databases --force > /home/mysql_bak/dataall.sql
Enter password:

关闭原mysql,#systemctl stop mysqld.service  chkconfig --list 关闭开机自启

3.检查确认各个配置文件没问题后,进入/usr/local/mysql/bin目录   ./mysqld_safe --user=mysql &启动mysql

4.配置环境变量vi /etc/profile

5.添加到文件末尾:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH

6.#source /etc/profile

7.vim /etc/my.cnf  将ps -ef |grep mysql看到的base路径加入配置文件里面

8.启动mysql,以/etc/init.d/mysql start的方式启动,进入mysql以后用sql语句,select version();看看数据库版本是否升级成功。

  1. 设置开机启动:#chkconfig --add mysql  #chkconfig mysql on
  2. 开启主从同步,确认Binlog是否同步。命令:Start slave;确认binlog是否一致,pod号是否一致,也可以去navicat里面修改主库表数据,看看从库表数据是否同步一致。
  3. systemctl is-enabled mysqld查看系统自带的开机自启动有没有开启,有的话关闭掉:systemctl disable mysqld

注意:如果登录Mysql数据库时报2200错误,在my.cnf文件里面加入以下参数:

[client]

Socket=/var/lib/mysql/mysql.sock

转载请注明出处。

你可能感兴趣的:(mysql,生产环境,小版本升级)