记一次mysql重装

### mysql版本信息暴露

公司mysql可以获取到版本信息,因此公司让隐藏版本信息,网上收到当地之后(将mysqld中版本号强制改为不存在的版本号),在修改并执行restart命令之后,发现mysql重启失败,报错信息如下

网上搜索该异常,发现很少遇到此问题,并且遇到此问题的人也都是在用户登录的时候发生,解决方法是修改mysql源代码并重新编译源码,由于这个mysql不是源码自行编译安装的(据说是yum安装—后面会说为什么是“据说”)

1.  排查无果只能关闭mysql,因为mysql数据是备份了的,因此打算安装一个mysql最新版本并将原数据导入即可

2.  现有版本的卸载,据开发人员说使用yum安装的,但是我查找yum安装包没有找到

通过rpm查找却又找到了

 

于是我开始按照顺序卸载,最后又发现有几个rpm包始终卸载不了,每次卸载命令执行都报错,提示缺少依赖……!

想来想去我也不可能为了卸载又去装很多东西,最后我又再次尝试了以下yum查找安装报的方法,结果又找到了剩下几个未卸载完成的rpm包!于是我赶紧通过yum卸载mysql的命令将剩余的rpm包卸载掉了,果然在yum卸载的过程中下载并安装了很多东西。

 

3. 安装docker环境,通过docker安装mysql---让运维安装的(下图为mysql镜像启动命令,包含root用户名密码),接下来开始数据导入和授权:

通过docker inspect mysql-prod命令,查看容器磁盘挂载情况

于是我将*.sql文件放到本地磁盘的/app1/docker/mysql/data下,这样在容器中可以在/var/lib/mysql/中得到sql文件

通过docker exec -it d5c522589a0a /bin/bash 进入容器

 

- 在容器中通过mysql -u root -p 命令以及按提示输入密码之后,创建数据库并进入数据库之后,通过source /var/lib/mysql/*.sql 命令将sql中的数据全部导入数据库中。

- 进行一系列mysql的常规操作,创建用户、授予用户权限等。

- 到k8s中查看所有使用到当前数据库的项目,项目数据恢复正常(数据库连接池有重连机制)

 

4. 数据库备份脚本

编写docker环境下mysql备份脚本,利用linux的crontab命令  创建并指定定时执行当前脚本,crontab -e 进入编辑页面(crontab  -l显示当前linux服务器中所有定时任务),如下所示,指定脚本在每天凌晨5点执行,并将脚本的输出信息重定向到指定文件中————编辑器的推出方式与vi编辑器一致。

 

00 05 *   * * cd /usr/local/mysqlBack; sh mysqlDockerBack.sh >> mysqlback.log 2 >> mysqlback.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

於之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值