一次MySQL啟動導致的事故實戰記錄

2022-09-21 10:00:13 字數 956 閱讀 7193

目錄

mysql` 啟動存在埠被監聽, 但服務沒完全啟動的情況.

mysql 啟動時會進行 第一次 初始化資料庫, 等待 mysql 完全啟動後ovsdqr, 再進行 第二次 初始化資料庫.

第一次 初始化資料庫使用 --skip-networking (這個選項表示禁止 mysql 的 tcp/ip 連線方式) 啟動 mysql 進行初始化,

初始化完成後會關閉 --skip-networking 選項重新啟動 mysql.

第二次 初始化資料庫會設定 root 密碼.

嘗試主動連線 mysql, 連線成功則表明服務已完全啟動

mysql -hlocalhost -p3306 -uroot

由於上面的判斷方式使用的是 socket 進行連線資料庫, 但第一次只是禁止 mysql 的 tcp/ip 連線方式,

所以沒等 第一次 初始化資料庫完成可能就已經進行了 第二次 ovsdqr初始化資料庫,

而 第二次 初始化資料庫提前於 第一次 初始化資料庫設定 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刪庫事故總結

在原來的資料庫設計中並沒有進行外來鍵的設計,缺少資料完整性約束。在此專案中,事先沒有進行全量備份,沒有開啟binlog無法恢復原先的資料。萬幸,被覆蓋的表只是一張關係表,關聯了teacher表和course表,而不是儲存著元資料的表。通過select查詢相關表的資料,並且由於在磁碟的路徑能夠體現出記...

記錄一次事故 idea,sbt,scala

沒事千萬不要點idea的update啊,就算它自己彈出來的也不要管哦。我們自己的ide在使用過程中總會有各種settting的配置,更新之後這些都沒有了,而且自己本地安裝的外掛程式也就都沒有了,所以更新一定要謹慎。這裡記錄下這次更新,並把更新之後對sbt的配置更改做一次記錄,下次再出現問題就不用去網...

一次 mysql 啟動錯誤

140321 13 19 31 mysqld safe starting mysqld daemon with databases from var lib mysql usr libexec mysqld can t find file mysql plugin.frm errno 13 1403...