私はシンプルなウェブサーバー(Debian 6.0 x86、1GBのメモリと10GBの空き容量があるDirectAdmin、mySQlバージョン5.5.9)を持っていますが、mySQLサーバーがクラッシュし続け、再起動できるようにすべてのmySQLプロセスを終了する必要があります再び。
/var/log/mysql-error.log
出力:
130210 21:04:26 InnoDB: Using Linux native AIO
130210 21:04:34 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:05:42 InnoDB: Completed initialization of buffer pool
130210 21:05:48 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:06:22 InnoDB: Initializing buffer pool, size = 128.0M
130210 21:06:27 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:06:29 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:07:22 InnoDB: Completed initialization of buffer pool
130210 21:07:51 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended
130210 21:08:33 InnoDB: Completed initialization of buffer pool
130210 21:12:03 [Note] Plugin 'FEDERATED' is disabled.
130210 21:12:47 InnoDB: The InnoDB memory heap is disabled
130210 21:12:47 InnoDB: Mutexes and rw_locks use InnoDB's own implementation
130210 21:12:47 InnoDB: Compressed tables use zlib 1.2.3
130210 21:12:47 InnoDB: Using Linux native AIO
130210 21:13:11 InnoDB: highest supported file format is Barracuda.
130210 21:13:23 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130210 21:14:05 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
130210 21:17:53 InnoDB: Unable to open the first data file
InnoDB: Error in opening ./ibdata1
130210 21:17:53 InnoDB: Operating system error number 11 in a file operation.
MySQL Webサイト here でトピックを見つけましたが、解決策はありません。
誰かアイデアはありますか?
同じブログの1つのコメントからの別のアプローチ:
これは私を助けました:
lsof -i:3306
次に、それを殺します(プロセス番号)
kill -9 PROCESS
例えばキル-9 13498
次に、MySQLを再起動してください。
http://www.webhostingtalk.com/archive/index.php/t-1070293.html 経由
ubuntu 14.04で。経由で再起動しようとすると、この問題が発生しています
/etc/init.d/mysql restart
代わりに試してください
service mysql restart
この問題の最も一般的な原因は、MySQLがすでに実行されているときにMySQLを起動しようとすることです。
これを解決するには、実行中のMySQLインスタンスをすべて停止し、通常の起動スクリプトを使用して再起動します。 service mysql start
。
傷ついた世界に備える準備ができていない限り、ディストリビューションパッケージバージョンを使用する場合は、MySQLを手動で起動しないでください。
ソリューション
元のファイル(ibdata1、ib_logfile0、ib_logfile1 ...)のコピーを作成します。
mv ibdata1 ibdata1.bak
cp -a ibdata1.bak ibdata1
http://cglreport.zhenhua.info/2008/08/mysql-error-unable-to-lock-ibdata1.html
これは私がそれを解決するのに役立ちました:
すべてのibdataファイルを削除し、mysqlにそれらを作成させます。
mysqlを停止します。
service mysql stop
mysqlライブラリに移動します。
cd /var/lib/mysql/
必要に応じて、innodbファイルをどこかに移動します。
mv ib* /root/
mysqlを起動します。
service mysql start
同じ繰り返しエラーのグーグルからここに来ましたが、エラーコード13(InnoDB: Unable to lock ./ibdata1, error: 13
)。インターネットで多くの解決策を試した後、私を助けてくれたもの(発明者!)
これらの行を構成に追加します/etc/apparmor.d/usr.sbin.mysqld
(もちろん、apparmorとmysqlを再ロードします):
/path/to/mysql/data/ r,
/path/to/mysql/data/** rwk,
多くのソリューションの主な違い:2つのルール(dir自体と内部のすべてのファイルについて、二重の**
)およびk
オプション。mysqlがファイルをロックできるようにします。
これが誰かを助けることを願っています。
スペースをチェックして100%であることを確認してください
df -h
まるでいっぱいのように、.sockファイルを作成しません。
他の解決策がどれも機能しない場合、問題はおそらくAppArmorの設定ミスが原因です。
だからちょうどしてください:
$ apt install apparmor-profiles
mySQLを再起動します(再起動の速度に注意してください)。
AppArmorに関連するファイルが見つからないことに気づきました:
$ systemctl status mysql.service
したがって、なぜAppArmorの設定に問題があると思ったのですか。
シンプルですが、「cp -a」を使用する方法より高速です。そして、「cp -a」と他のすべてができなかったときに助けました。
service mysql stop && pkill -f mysql
すべてのmysqlプロセスを取り除く
vi /etc/mysql/my.cnf
パラメータdatadir =/var/lib/mysqlをdatadir =/var/lib/mysql2に変更します(または、ない場合は追加します)。
mv /var/lib/mysql /var/lib/mysql2
Datadirの名前を新しい名前に変更します
service mysql start
タンバリンを準備する
pid-file
ファイルの[mysql]
セクションにmy.cnf
パラメータがあることを確認してください。存在しない場合は、unable to lock ...ibdata1.. error:1
が発生します。