6

wordpress の設定は完璧にできていたのですが、今日、サーバーがサイトの読み込みを突然停止しました。centos 7 VPS にログインして再起動しました。再起動後、MariaDB は開始されませんでした。ログで見つけたものは次のとおりです。

141026 18:13:50 [Note] /usr/libexec/mysqld: Shutdown complete

141026 18:13:50 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended
141026 18:14:58 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141026 18:14:58 InnoDB: The InnoDB memory heap is disabled
141026 18:14:58 InnoDB: Mutexes and rw_locks use GCC atomic builtins
141026 18:14:58 InnoDB: Compressed tables use zlib 1.2.7
141026 18:14:58 InnoDB: Using Linux native AIO
141026 18:14:58 InnoDB: Initializing buffer pool, size = 128.0M
141026 18:14:58 InnoDB: Completed initialization of buffer pool
InnoDB: Error: space header page consists of zero bytes in data file ./ibdata1
141026 18:14:58 InnoDB: Could not open or create data files.
141026 18:14:58 InnoDB: If you tried to add new data files, and it failed here,
141026 18:14:58 InnoDB: you should now edit innodb_data_file_path in my.cnf back
141026 18:14:58 InnoDB: to what it was, and remove the new ibdata files InnoDB created
141026 18:14:58 InnoDB: in this failed attempt. InnoDB only wrote those files full of
141026 18:14:58 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
141026 18:14:58 InnoDB: remove old data files which contain your precious data!
141026 18:14:58 [ERROR] Plugin 'InnoDB' init function returned error.
141026 18:14:58 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141026 18:14:58 [Note] Plugin 'FEEDBACK' is disabled.
141026 18:14:58 [ERROR] Unknown/unsupported storage engine: InnoDB
141026 18:14:58 [ERROR] Aborting

誰かが問題の原因を調査するのを手伝ってくれますか? MariaDB を起動できなくてもデータベースをバックアップできる可能性はありますか?

4

2 に答える 2

11

編集:にコピーさmy-innodb-heavy-4G.cnf/etc/my.cnf.d、サーバーは正常に起動しました。おそらく、バイナリログのサイズを変更したことが原因です。


InnoDB バッファのサイズを変更したか、破損したようです。これらの変更はしばらく前に行われ、再起動したときに有効になった可能性があります。

最初に必ずデータのバックアップを作成してください/var/lib/mysql。できればディレクトリ全体をバックアップしてください。

cp -R /var/lib/mysql /var/lib/mysql-backup

/etc/my.cnfデータをバックアップしたら、ファイルに加えた変更を元に戻して再起動するのが最善の第一歩です。

それでもうまくいかない場合、または以前のバッファーのサイズがわからない場合、次に考えられるオプションは、InnoDB binlog ファイルを削除し、MariaDB/MySQL に再作成させることです。ファイルには名前が付けられ/var/lib/mysql/ib_logfile{N}{N}は数字です。

rm -rf /var/lib/mysql/ib_logfile*

それでも問題が解決しない場合は、以下をあなたのファイルに追加してみてください/etc/my.cnf(または、使用している設定ファイルはもちろん、最初にバックアップしてください)。セクションに入る必要があり[innodb]ます。

innodb_buffer_pool_size        = 256M
innodb_log_file_size           = 256M
innodb_thread_concurrency      = 16
innodb_flush_log_at_trx_commit = 2
innodb_flush_method            = normal

秘訣は、MariaDB が何を期待しているかを知ることです。上記でうまくいかない場合は、最後の行だけを試して[innodb_flush_method].

于 2014-10-26T21:24:03.143 に答える
7

MySQL を最初にインストールしたときにこの問題が発生した場合は、MySQL データ ディレクトリ内のファイルibdataib_logfile*ファイルを削除してから、MySQL を再起動してください。

幸運を!

于 2015-10-07T03:54:45.197 に答える