提示:
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]
檢查了MySQL的日志(cat /var/log/mysqld.log)發現提示一個錯誤([ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist),如圖:
猜測可能是MySQL的默認數據庫沒正常安裝,但卸載MySQL(yum remove mysql-server)再重裝(yum install mysql-server)還是不行,現象和原來一樣。後來找到一個專門安裝默認數據庫的命令:mysql_install_db,執行之後,再啟動MySQL(/etc/init.d/mysqld start)終於看到久違的OK:
代碼如下 復制代碼# /etc/init.d/mysqld start
Starting MySQL: [ OK ]
問題二
用safe_mysqldq啟動的時候,出現
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
最終解決方法如下:
在mysql的安裝目錄下,我的是/usr/local/mysql
代碼如下 復制代碼./scripts/mysql_install_db --usrer=mysql --datadir=/usr/local/mysql/data/
原因是重裝的時候數據目錄不一致導致
問題三
說一下我解決的過程:
按照mysql的安裝步驟:
代碼如下 復制代碼 shell> groupadd mysql這樣標准進行下來是沒有問題的,但在最後一步啟動mysql的時候我希望將數據庫的數據文件放在另外一個目錄下面,啟動命令修改為:
代碼如下 復制代碼 shell>/usr/local/mysql/bin/mysqld_safe --user=mysql --log-error=/u01/mysql/mysql_error/error --datadir=/u01/mysql/data這個時候就出現問題了, 因為在進行初始化數據庫權限表的那一步的時候默認創建的權限表在默認目錄/usr/local/mysql/var下面,這就造成了,上面的錯誤無法找到 權限表:Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
解決辦法 在運行初始化權限表的時候使用增加參數--datadir ,命令格式為:
代碼如下 復制代碼 shell> scripts/mysql_install_db --user=mysql --datadir=/u01/mysql/data