mysql 啓動報錯問題集錦

在啓動mysql的時候,可能會遇到各種各樣的問題,然而這時候還找不到錯誤日誌,只是在屏幕上顯示:

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

那麼我們就來看看如何解決這些問題。


在沒有錯誤日誌的情況下,很難排查錯誤,因此我們可以使用另一種方式來使其生成錯誤信息:


/usr/local/mysql/bin/mysqld 或者 /usr/local/mysql/bin/mysqld_safe


這樣就顯示會在數據目錄下生成一個.rr的文件,這裏面就包含我們遇到的錯誤信息。


那麼錯誤有哪些呢,筆者歸類了一下這幾天實驗中遇到的,與大家分享:


1、/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)


關於這個錯誤,其實就是權限的問題,我們知道,mysql是不方便直接用root用戶來啓動的(當然啦,如

果你非要用的話也可以,但是不安全,這裏不加贅述),因此我們需要創建一個叫mysql的用戶,然後把

安裝目錄和數據目錄的所屬主和所屬組全部改成mysql,這樣就解決了上面的錯誤。但是注意,如果在啓

動過程還是不順利,遇到其它各種錯誤的話,這兩個目錄的權限可能又會發生更改,所以我們可能要再

次去修改權限。


2、mysqld: Table 'mysql.plugin' doesn't exist


如果日誌裏出現這樣的錯誤,說明我們需要重新初始化一下數據庫,如果沒有初始化數據庫的話,就不

能生成守護進程。


初始化數據庫命令:


/usr/local/mysql/scripts/mysql_install_db --user=mysql basedir=/usr/local/mysql datadir=/data/mysql


注意,這裏進行初始化的時候一定加上安裝目錄和數據目錄的路徑,因爲這樣的錯誤提示是說啓動的時

候找不到內置數據庫,而指定數據庫目錄之後再次進行初始化就可以解決這個問題了。


3、ERROR: 1136  Column count doesn't match value count at row 1


這是因爲寫的SQL語句裏列的數目和後面的值的數目不一致,比如我們插入數據操作:insert into 表名

 (field1,field2,field3) values('a','b')這樣前面的是三列,後面卻只有二個值,這就會出現這個

錯誤。


但是這個錯誤與啓動mysql服務貌似並不影響,如果重新安裝後啓動不了,出現這個錯誤的話,說明原有

的安裝信息沒有刪除乾淨。


4、[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

  [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'performance_schema=0'


如果遇到了這個錯誤,說明安裝的mysql不支持,或者沒有innodb引擎,但是配置文件/etc/my.cnf中是

使用innodb來工作的,這就出現了錯誤。


解決方法:


a、更改配置文件,將與innodb有關的配置信息刪除


b、動態加載innodb引擎:


先修改配置文件使mysql可以正常啓動,刪除數據目錄下的ibdata1,ib_datafile0,ib_datafile1文件,

啓動服務之後登錄到mysql中,使用命令 INSTALL PLUGIN InnoDB SONAME 'ha_innodb_plugin.so'; 這

樣就可以成功加載innodb引擎了(一定要先刪除數據目錄的那幾個文件,不然加載innodb會出錯)。


5、'--skip-locking' is deprecated and will be removed in a future release. Please use '--

skip-external-locking' instead.  


遇到這個錯誤,我們將配置文件/etc/my.cnf中的skip-locking字段改爲skip-external-locking字段即

可解決。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章