天天看點

mysql之 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11

問題描述:啟動MySQL後,出現連接配接不上,報 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11

[root@mysql01 ~]# service mysql start

Starting MySQL [ OK ]

[root@mysql01 ~]# mysql -uroot -poracle

Warning: Using a password on the command line interface can be insecure.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

[root@mysql01 ~]# ll /var/lib/mysql/mysql.sock

ls: cannot access /var/lib/mysql/mysql.sock: No such file or directory

說明:

mysqld.sock是mysql啟動以後自動生成的檔案,關閉MySQL服務後,這個檔案又會被删除。如果MySQL啟動異常,就有可能不生成這個檔案,登入的時候就會出現你這個錯誤。

[root@mysql01 ~]# cd /var/lib/mysql

[root@mysql01 mysql]# ls

auto.cnf ib_logfile0 mysql01.err RPM_UPGRADE_MARKER-LAST

binarylog ib_logfile1 performance_schema test

ibdata1 mysql RPM_UPGRADE_HISTORY

[root@mysql01 mysql]# vi mysql01.err 

錯誤日志報錯如下:

2017-06-04 04:08:47 2835 

2017-06-04 04:08:47 2835 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

分析:

1、磁盤空間目錄不足

2、ibdata1 檔案被其他的程序占用

3、 等

解決過程:

1、 -- 檢視磁盤空間情況

[root@mysql01 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 35G 7.8G 26G 24% /

tmpfs 699M 72K 699M 1% /dev/shm

/dev/sda1 2.9G 4.5M 2.7G 1% /tmp

2、 --InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

已經指出其他的線程啟動已經在運作無法再次建立相關的讀檔案程序的權限,也就是說,現有的ibddata檔案已經有人讀取了,無法再次啟動!

-- 檢視系統 mysql 相關程序

[root@mysql01 ~]# ps aux |grep mysql*

root 1742 0.0 0.0 108336 552 ? S 03:59 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/mysql01.pid

mysql 1930 0.2 37.8 1170956 541948 ? Sl 03:59 0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mysql01.err --pid-file=/var/lib/mysql/mysql01.pid --port=3306

root 3117 0.0 0.0 103312 876 pts/2 S+ 04:29 0:00 grep mysql*

-- kill -9 殺掉

[root@mysql01 ~]# kill -9 1930

root 3186 0.0 0.0 103308 852 pts/2 S+ 04:29 0:00 grep mysql*

-- 啟動

Starting MySQL.. [ OK ]

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

說明:恢複正常

本文轉自 張沖andy 部落格園部落格,原文連結:  http://www.cnblogs.com/andy6/p/6938501.html ,如需轉載請自行聯系原作者

繼續閱讀