MySQL無法啟動:Table mysql.host doesn t exist

來源:互聯網
上載者:User

提示:

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
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe --user=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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.