MySQL小版本数据库升级

此版式是通用的,无论是mysql6还是mysql7,还是mysql8
本次例子是mysql5.7
由于我是把别的数据全部数据备份,包阔数据的密码,所以导入后数据库密码也不对了

模拟数据

首先从生产环境备份数据,并在测试环境中安装mysql5.18,并把数据导入测试数据中。
数据包:在这里插入图片描述

安装 mysql5.18

解压
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
创建用户
useradd -s /sbin/nologin mysql
赋予权限
chown -R mysql.mysql /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64/
链接mysql
ln -s mysql-5.7.18-linux-glibc2.5-x86_64/ mysql
上面那部是为了方便升级数据库
创建存储数据目录和mysql配置文件
mkdir -p /data/mysql/data
cat > /data/mysql/my.cnf <<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
pid-file = /data/mysql/mysql.pid
log_error = /data/mysql/log/mysqld.log
user=mysql
server_id=187227
log_bin=/data/mysql/mysql-bin
# 不同步哪些数据库
relay-log = mysql-relay-bin
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
# 只同步哪些数据库,除此之外,其他不同步
replicate_wild_do_table=zkc.%
replicate_wild_do_table=world.%
slow_query_log=1
slow_query_log_file=/data/mysql/log/slow.log
long_query_time=0.1
log_queries_not_using_indexes
max_connections = 1000
log-slave-updates
port=3306
lower_case_table_names=0
EOF
	给数据/data/mysql/赋予权限
	chown -R mysql.mysql /data
	初始化数据
	/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

在这里插入图片描述
数据初始化完成
在这里插入图片描述
启动数据库
启动命令:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf --user=mysql 2>&1

第一次启动会失败
在这里插入图片描述
mkdir -p /data/mysql/log/
touch /data/mysql/log/mysqld.log
chown -R mysql.mysql /data
再次重新启动
在这里插入图片描述
配置基本快捷键
vim /etc/profile

export PATH=/usr/local/mysql/bin:$PATH
在这里插入图片描述
source /etc/profile
在这里插入图片描述
登录mysql
在这里插入图片描述
修改密码
alter user root@‘localhost’ identified by “root”
重新登录,不要密码是登录不了的
在这里插入图片描述
在这里插入图片描述
赋予root远程登录权限
grant all on . to root@’%’ identified by ‘root’;
在这里插入图片描述
导入数据备份脚本
mysql -uroot -proot < /root/mysql_20210630.sql

备份

模拟环境已经准备就绪,备份数据库
编写备份数据库脚本
vim back_mysql.sh

#!/bin/bash
(time mysqldump -h192.168.10.138 -P3306 -uroot -proot  --single-transaction  -A > mysql_20210701.sql) > dump.log 2>&1 &

echo "sh back_mysql.sh" | at now

在这里插入图片描述
缺少包依赖
在这里插入图片描述

启动在这里插入图片描述
重新备份
在这里插入图片描述
备份完毕,开始升级

升级

解压升级包

 tar -zxvf mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

升级前查看mysql当前版本
在这里插入图片描述
升级替换

rm -rf mysql
ln -s mysql-5.7.33-linux-glibc2.12-x86_64/ mysql
chown -R mysql.mysql mysql-5.7.33-linux-glibc2.12-x86_64/
rm -rf mysql-5.7.18-linux-glibc2.5-x86_64/
在这里插入图片描述
关闭原mysql服务
/usr/local/mysql/bin/mysqladmin -uroot -proot shutdown
在这里插入图片描述
服务已停止
/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql/my.cnf --user=mysql 2>&1 &
在这里插入图片描述
mysql启动成功,查看版本
数据库导入进去,脚本里面的数据库密码覆盖了现有的数据库密码
在这里插入图片描述
/usr/local/mysql/bin/mysql_upgrade -uroot -pA_dminjs#888
升级完毕
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值