系統環境:
作業系統: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,如需轉載請自行聯系原作者