天天看點

Mysql學習之--Mysql啟動失敗案例

系統環境:

作業系統:Linux RH6

資料庫:  Mysql 5.6

在啟動mysql server時,啟動失敗

[root@ogg mysql]# service mysql start

Starting MySQL...The server quit without updating PID file [FAILED]b/mysql/ogg.pid).

檢視mysql錯誤日志:

[root@ogg mysql]# more ogg.err

140928 10:32:59 mysqld_safe mysqld from pid file /var/lib/mysql/ogg.pid ended

140928 10:35:54 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

140928 10:35:54 InnoDB: The InnoDB memory heap is disabled

140928 10:35:54 InnoDB: Mutexes and rw_locks use GCC atomic builtins

140928 10:35:54 InnoDB: Compressed tables use zlib 1.2.3

140928 10:35:54 InnoDB: Using Linux native AIO

140928 10:35:54 InnoDB: CPU does not support crc32 instructions

140928 10:35:54 InnoDB: Initializing buffer pool, size = 128.0M

140928 10:35:54 InnoDB: Completed initialization of buffer pool

140928 10:35:54 InnoDB: highest supported file format is Barracuda.

140928 10:35:54 InnoDB: 128 rollback segment(s) are active.

140928 10:35:54 InnoDB: Waiting for the background threads to start

140928 10:35:55 InnoDB: 1.2.4 started; log sequence number 1604733

/usr/local/mysql/bin/mysqld: File '/var/lib/mysql/mysql-bin.000012' not found (Errcode: 2)

140928 10:35:55 [ERROR] Failed to open log (file '/var/lib/mysql/mysql-bin.000012', errno 2)

140928 10:35:55 [ERROR] Could not open log file

140928 10:35:55 [ERROR] Can't init tc log

140928 10:35:55 [ERROR] Aborting

應該是在前面的操作中,删除了mysql日志 !!!

檢視系統目錄:

[root@ogg mysql]# ls -lh

1

2

3

4

5

6

7

8

9

10

<code>-rw-rw---- </code><code>1</code> <code>mysql mysql   </code><code>56</code> <code>Sep </code><code>17</code> <code>14</code><code>:</code><code>03</code> <code>auto.cnf</code>

<code>-rw-rw---- </code><code>1</code> <code>mysql mysql  18M Sep </code><code>28</code> <code>10</code><code>:</code><code>35</code> <code>ibdata1</code>

<code>-rw-rw---- </code><code>1</code> <code>mysql mysql </code><code>5.</code><code>0M Sep </code><code>28</code> <code>10</code><code>:</code><code>35</code> <code>ib_logfile0</code>

<code>-rw-rw---- </code><code>1</code> <code>mysql mysql </code><code>5.</code><code>0M Sep </code><code>17</code> <code>13</code><code>:</code><code>51</code> <code>ib_logfile1</code>

<code>-rw-rw---- </code><code>1</code> <code>mysql mysql   </code><code>32</code> <code>Sep </code><code>26</code> <code>17</code><code>:</code><code>35</code> <code>master-log-bin.index</code>

<code>drwx------ </code><code>2</code> <code>mysql root  </code><code>4.</code><code>0K Sep </code><code>17</code> <code>13</code><code>:</code><code>51</code> <code>mysql</code>

<code>-rw-rw---- </code><code>1</code> <code>mysql mysql  </code><code>235</code> <code>Sep </code><code>28</code> <code>10</code><code>:</code><code>21</code> <code>mysql-bin.index</code>

<code>-rw-rw---- </code><code>1</code> <code>mysql root   47K Sep </code><code>28</code> <code>10</code><code>:</code><code>35</code> <code>ogg.err</code>

<code>drwx------ </code><code>2</code> <code>mysql mysql </code><code>4.</code><code>0K Sep </code><code>17</code> <code>13</code><code>:</code><code>51</code> <code>performance_schema</code>

<code>drwx------ </code><code>2</code> <code>mysql root  </code><code>4.</code><code>0K Sep </code><code>26</code> <code>15</code><code>:</code><code>33</code> <code>tes</code>

删除mysql-bin.index檔案,重新啟動

[root@ogg mysql]# rm mysql-bin.index

rm: remove regular file `mysql-bin.index'? y

Starting MySQL..                                           [  OK  ]

啟動成功,問題解決!!!

附錄:

mysql 報錯:MYSQL:The server quit without updating PID file。以下是可能的原因與解決方法

1.可能是/usr/local/mysql/data/rekfan.pid檔案沒有寫的權限

解決方法 :給予權限,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然後重新啟動mysqld!

2.可能程序裡已經存在mysql程序

解決方法:用指令“ps -ef|grep mysqld”檢視是否有mysqld程序,如果有使用“kill -9  程序号”殺死,然後重新啟動mysqld!

3.可能是第二次在機器上安裝mysql,有殘餘資料影響了服務的啟動。

解決方法:去mysql的資料目錄/data看看,如果存在mysql-bin.index,就趕快把它删除掉吧,它就是罪魁禍首了。

4.mysql在啟動時沒有指定配置檔案時會使用/etc/my.cnf配置檔案,請打開這個檔案檢視在[mysqld]節下有沒有指定資料目錄(datadir)。

解決方法:請在[mysqld]下設定這一行:datadir = /usr/local/mysql/data

5.skip-federated字段問題

解決方法:檢查一下/etc/my.cnf檔案中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。

6.錯誤日志目錄不存在

解決方法:使用“chown” “chmod”指令賦予mysql所有者及權限

7.selinux惹的禍,如果是centos系統,預設會開啟selinux

解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled後存盤退出重新開機機器試試。

本文轉自 客居天涯 51CTO部落格,原文連結:http://blog.51cto.com/tiany/1558964,如需轉載請自行聯系原作者

繼續閱讀