一次MySQL启动导致的事故实战记录


Posted in MySQL onSeptember 15, 2021

MySQL` 启动存在端口被监听, 但服务没完全启动的情况.

背景

MySQL 启动时会进行 第一次 初始化数据库, 等待 MySQL 完全启动后, 再进行 第二次 初始化数据库.

第一次 初始化数据库使用 --skip-networking (这个选项表示禁止 MySQL 的 TCP/IP 连接方式) 启动 MySQL 进行初始化,

初始化完成后会关闭 --skip-networking 选项重新启动 MySQL.

第二次 初始化数据库会设置 root 密码.

判断 MySQL 已完全启动的方式

尝试主动连接 MySQL, 连接成功则表明服务已完全启动

mysql -hlocalhost -P3306 -uroot

事故

由于上面的判断方式使用的是 socket 进行连接数据库, 但第一次只是禁止 MySQL 的 TCP/IP 连接方式,

所以没等 第一次 初始化数据库完成可能就已经进行了 第二次 初始化数据库,

而 第二次 初始化数据库提前于 第一次 初始化数据库设置 root 密码, 导致 第一次 初始化连不上数据库而失败,

最后没有开启 TCP/IP 连接方式, 应用无法连接数据库.

第一次修改

使用 -h127.0.0.1 进行连接数据库

mysql -h127.0.01 -P3306 -uroot

但由于 root 用户的 host 设置的是 localhost, 不允许 127.0.0.1 进行连接, 第一次修改失败.

第二次修改

wait-for-it.sh 127.0.0.1:3306 --timeout=300

mysql -hlocalhost -P3306 -uroot

wait-for-it.sh 用于检测 127.0.0.1:3306 是否处于监听状态, 如果是, 则表明 第一次 初始化数据库完成了,

然后再使用 localhost 去尝试连接数据库.

原文链接: k8scat.com/posts/wait-…

总结

到此这篇MySQL启动导致的事故的文章就介绍到这了,更多相关MySQL启动导致事故内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
Idea连接MySQL数据库出现中文乱码的问题
Apr 14 MySQL
详解MySQL的半同步
Apr 22 MySQL
浅谈Mysql多表连接查询的执行细节
Apr 24 MySQL
MySQL kill不掉线程的原因
May 07 MySQL
MYSQL(电话号码,身份证)数据脱敏的实现
May 28 MySQL
详解MySQL多版本并发控制机制(MVCC)源码
Jun 23 MySQL
MySQL系列之十一 日志记录
Jul 02 MySQL
mysql备份策略的实现(全量备份+增量备份)
Jul 07 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
如何创建一个创建MySQL数据库中的datetime类型
Mar 21 MySQL
MySQL Server 层四个日志
Mar 31 MySQL
MySQL数据管理操作示例讲解
Dec 24 MySQL
MySQL中几种插入和批量语句实例详解
Sep 14 #MySQL
MySQL 如何限制一张表的记录数
Sep 14 #MySQL
MySQL into_Mysql中replace与replace into用法案例详解
Sep 14 #MySQL
MYSQL 的10大经典优化案例场景实战
Sep 14 #MySQL
MySQL中连接查询和子查询的问题
mysql配置SSL证书登录的实现
MySQL约束超详解
Sep 04 #MySQL
You might like
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
图文介绍Vue父组件向子组件传值
2018/02/17 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
python的即时标记项目练习笔记
2014/09/18 Python
Python装饰器decorator用法实例
2014/11/10 Python
详解Python爬虫的基本写法
2016/01/08 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
外贸实习生自荐信范文
2013/11/24 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
赔偿协议书范本
2014/04/15 职场文书
学习演讲稿范文
2014/05/10 职场文书
教师自查自纠材料
2014/10/14 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
OpenCV-Python使用cv2实现傅里叶变换
2021/06/09 Python