背景:之前開發(fā)的報(bào)告整理工具使用的數(shù)據(jù)庫一直沒有增加自動備份,每次想起來手動去備份一下,因此想增加一個(gè)自動備份數(shù)據(jù)庫的任務(wù)。先把這個(gè)過程中遇到的問題記錄下來
寫基礎(chǔ)的shell備份腳本,執(zhí)行腳本后出現(xiàn)兩個(gè)報(bào)錯(cuò)
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: Got error: 2013: Lost connection to MySQL server during query when using LOCK TABLES
第一個(gè)是在腳本中明文輸入了password的警告,這個(gè)先忽略
第二個(gè)提示是失去連接的錯(cuò)誤,此時(shí)去查看導(dǎo)出的數(shù)據(jù)庫備份文件是空的,即備份沒有成功,需要解決這個(gè)問題。
查閱網(wǎng)上的資料,共有三種思路
思路一:連接超時(shí)。但是我實(shí)際從執(zhí)行腳本到失敗只有1秒鐘,還沒達(dá)到默認(rèn)的60秒超時(shí)的情況,所以我不是這種情況
思路二:不使用緩存區(qū)導(dǎo)出,mysqldump增加-q選項(xiàng)。但是我在備份前未執(zhí)行mysql語句,實(shí)際增加了-q參數(shù)報(bào)錯(cuò)依然存在,也不是此種情況

思路三:導(dǎo)出的表格存在錯(cuò)誤。
連接mysql數(shù)據(jù)庫,使用“show tables”命令查看表格,出現(xiàn)以下報(bào)錯(cuò),到此可以確認(rèn)我屬于此種情況。因?yàn)楸砀皴e(cuò)誤導(dǎo)致的無法連接錯(cuò)誤
mysql> show tables;
ERROR 2006 (HY000): MySQL server has gone away
No connection.Trying to reconnect...
Connection id:? ? 8
Current database: DLYX_DB
解決方法:重啟本機(jī)的mysql 服務(wù)器,重啟后再次調(diào)用shell腳本,備份成功。
參考鏈接