Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist


今天在用一鍵安裝mysql的shell腳本安裝mysql-5.1.73軟件后發現mysql始終無法啟動,多次執行后依舊報錯,只能去查看error日志,發現了如下的2個錯誤:

錯誤一:Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

錯誤二:InnoDB: Error: combined size of log files must be < 4 G

很明顯,錯誤一表示有系統表缺失,錯誤二表示redo log總大小超4GB啦。

經查詢https://bugs.mysql.com發現這是個BUG,而stackoverflow上的答復大致是:

刪除mysql安裝的相關文件如:/etc/my.cnf,/usr/bin/mysql,/var/lib/mysql以及$datadir文件夾等,然后重啟服務器,再次安裝即可。

鏈接在此:https://stackoverflow.com/questions/9083408/fatal-error-cant-open-and-lock-privilege-tables-table-mysql-host-doesnt-ex

照做后安裝成功,檢查自己的安裝腳本發現並無刪除$datadir文件夾的命令。

 

猜測是因為第一次wget下載的安裝包由於網絡原因出了點小意外,導致第一次生成的data文件下的系統表空間里缺了mysql.host表,從而出現了啟動失敗的錯誤。

而錯誤二則是個伴生錯誤,data文件下的ib_logfile未被刪除,導致二次安裝想生成logfile時發現總容量超過了4GB(此限制在5.6.2之后被修改為512GB)。

最后完善了下安裝腳本,加入刪除data文件的命令。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM