首發(fā):
長沙快付
版權(quán)所有,未經(jīng)許可嚴(yán)禁轉(zhuǎn)載
阿里云Linux一鍵安裝包正常使用一段時(shí)間后,就會(huì)出現(xiàn)數(shù)據(jù)庫鏈接錯(cuò)誤的提示。
環(huán)境版本:
mysql:5.5.35
nginx:1.2.5
php:5.4.23
重啟mysql服務(wù)
[root@localhost]#server mysqld restart
報(bào)錯(cuò)如下:
ERROR! MySQL server PID file could not be found!
Starting MySQL.. ERROR! The server quit without updating PID file (/alidata/server/mysql/data/AY13******5453Z.pid)
根據(jù)提示找到/alidata/server/mysql/data/AY13******5453Z.err的日志如下:
150119 09:13:36 mysqld_safe Starting mysqld daemon with databases from /alidata/server/mysql/data
150119 9:13:36 [Note] Plugin 'FEDERATED' is disabled.
150119 9:13:36 InnoDB: The InnoDB memory heap is disabled
150119 9:13:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
150119 9:13:36 InnoDB: Compressed tables use zlib 1.2.3
150119 9:13:36 InnoDB: Using Linux native AIO
150119 9:13:36 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
150119 9:13:36 InnoDB: Completed initialization of buffer pool
150119 9:13:36 InnoDB: Fatal error: cannot allocate memory for the buffer pool
150119 9:13:36 [ERROR] Plugin 'InnoDB' init function returned error.
150119 9:13:36 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
150119 9:13:36 [ERROR] Unknown/unsupported storage engine: InnoDB
150119 9:13:36 [ERROR] Aborting
150119 9:13:36 [Note] /alidata/server/mysql/bin/mysqld: Shutdown complete
150119 09:13:36 mysqld_safe mysqld from pid file /alidata/server/mysql/data/AY13******5453Z.pid ended
查看mysql/data目錄下所有文件的權(quán)限
[root@localhost data]#ll
drwx------ 2 mysql mysql 4096 Jan 14 09:42 35dir
-rw-r----- 1 mysql root 20914 Jan 19 09:20 AY13******5453Z.err
-rw-rw---- 1 mysql mysql 5 Jan 19 09:20 AY13******5453Z.pid
-rw-rw---- 1 mysql mysql 35651584 Jan 19 10:47 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Jan 19 10:47 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Jan 16 01:22 ib_logfile1
drwx------ 2 mysql mysql 4096 Jan 14 09:41 lirongyaous
drwx------ 2 mysql mysql 4096 Jan 14 08:58 mysql
-rw-rw---- 1 mysql mysql 4968780 Jan 14 12:56 mysql-bin.000001
-rw-rw---- 1 mysql mysql 264430 Jan 15 01:52 mysql-bin.000002
-rw-rw---- 1 mysql mysql 48392 Jan 15 10:15 mysql-bin.000003
-rw-rw---- 1 mysql mysql 695519 Jan 15 14:51 mysql-bin.000004
-rw-rw---- 1 mysql mysql 1048692 Jan 16 09:45 mysql-bin.000005
-rw-rw---- 1 mysql mysql 1328536 Jan 18 22:20 mysql-bin.000006
-rw-rw---- 1 mysql mysql 49949 Jan 19 09:20 mysql-bin.000007
-rw-rw---- 1 mysql mysql 610158 Jan 19 10:47 mysql-bin.000008
-rw-rw---- 1 mysql mysql 152 Jan 19 09:20 mysql-bin.index
drwx------ 2 mysql mysql 4096 Jan 14 08:58 performance_schema
drwxr-xr-x 2 mysql mysql 4096 Jan 14 08:58 test
整體賦予data目錄mysql權(quán)限
[root@localhost mysql]#chown -R mysql:mysql data
如果重啟服務(wù)還是不行就重啟機(jī)器
服務(wù)重啟
[root@localhost]#server mysqld restart
機(jī)器重啟
[root@localhost]#reboot
更多相關(guān)問題解參考
1.可能是/usr/local/mysql/data/rekfan.pid文件沒有寫的權(quán)限
解決方法 :給予權(quán)限,執(zhí)行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動(dòng)mysqld!
2.可能進(jìn)程里已經(jīng)存在mysql進(jìn)程
解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進(jìn)程,如果有使用“kill -9 進(jìn)程號(hào)”殺死,然后重新啟動(dòng)mysqld!
3.可能是第二次在機(jī)器上安裝mysql,有殘余數(shù)據(jù)影響了服務(wù)的啟動(dòng)。
解決方法:去mysql的數(shù)據(jù)目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍?zhǔn)琢恕1救司褪鞘褂玫谌龡l方法解決的 !http://blog.rekfan.com/?p=186
4.mysql在啟動(dòng)時(shí)沒有指定配置文件時(shí)會(huì)使用/etc/my.cnf配置文件,請打開這個(gè)文件查看在[mysqld]節(jié)下有沒有指定數(shù)據(jù)目錄(datadir)。
解決方法:請?jiān)赱mysqld]下設(shè)置這一行:datadir = /usr/local/mysql/data
5.skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
6.錯(cuò)誤日志目錄不存在
解決方法:使用“chown” “chmod”命令賦予mysql所有者及權(quán)限
7.selinux惹的禍,如果是centos系統(tǒng),默認(rèn)會(huì)開啟selinux
解決方法:關(guān)閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機(jī)器試試。