一次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 相关文章推荐
MySQL时间设置注意事项的深入总结
May 06 MySQL
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
May 29 MySQL
探究Mysql模糊查询是否区分大小写
Jun 11 MySQL
详解MySQL中的pid与socket
Jun 15 MySQL
SpringBoot连接MySQL获取数据写后端接口的操作方法
Nov 02 MySQL
关于MySQL中的 like操作符详情
Nov 17 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
面试中老生常谈的MySQL问答集锦夯实基础
Mar 13 MySQL
mysql的单列多值存储实例详解
Apr 05 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
May 11 MySQL
MySQL中JOIN连接的基本用法实例
Jun 05 MySQL
MySQL约束(创建表时的各种条件说明)
Jun 21 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 获取百度的热词数据的代码
2012/02/18 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
js数字转换为float,取N位小数
2014/02/08 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
js canvas实现星空连线背景特效
2019/11/01 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
Python复制文件操作实例详解
2015/11/10 Python
Python+django实现文件下载
2016/01/17 Python
python实现xlsx文件分析详解
2018/01/02 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
幼儿园标语大全
2014/06/19 职场文书
销售团队获奖感言
2014/08/14 职场文书
倡议书的写法
2014/08/30 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
担保书格式
2015/01/20 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
Python中三种花式打印的示例详解
2022/03/19 Python
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android