次のエディターは完璧な解決策をもたらしますmysql起動直後にシャットダウンする問題(ibdata1ファイルが破損しているため)編集者はこれが非常に優れていると考えているので、参考として共有します。しばらくの間、MySQL がコンピューター ルームのサーバー上で実行されているので見てみましょう。非常に奇妙な現象が突然現れました:
再起動しても回復できません! 正確な状況は次のとおりです: mysql は起動直後にシャットダウンされます
次のように mysql エラー ログを表示します: 160920 22:41:41 mysqld_safe Starting mysqld daemon with databases from /home/MysqlData/
2016-09-20 22:41:41 0 [Note] /Data/app/mysql5.6.25/bin/mysqld (mysqld 5.6.25-log) starting as process 32372 ...
2016-09-20 22:41:42 32372 [Note]
Plugin 'FEDERATED' is disabled.
2016-09-20 22:41:42 32372
[Warning] option 'innodb-write-io-threads': unsigned value 1000 adjusted to 64
2016-09-20 22:41:42 32372
[Warning] option 'innodb-read-io-threads': unsigned value 1000 adjusted to 64
2016-09-20 22:41:42 32372 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-09-20 22:41:42 32372 [Note] InnoDB: The InnoDB memory heap is disabled
2016-09-20 22:41:42 32372 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-09-20 22:41:42 32372 [Note] InnoDB: Memory barrier is not used
2016-09-20 22:41:42 32372 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-09-20 22:41:42 32372 [Note] InnoDB: Using CPU crc32 instructions
2016-09-20 22:41:42 32372 [Note] InnoDB: Initializing buffer pool, size = 1.0G
2016-09-20 22:41:42 32372 [Note] InnoDB: Completed initialization of buffer pool
2016-09-20 22:41:42 32372 [Note] InnoDB: Highest supported file format is Barracuda.
2016-09-20 22:41:42 32372 [Note] InnoDB: Log scan progressed past the checkpoint lsn 20293587957
2016-09-20 22:41:42 32372 [Note] InnoDB:
Database was not shutdown normally!
2016-09-20 22:41:42 32372 [Note] InnoDB: Starting crash recovery.
2016-09-20 22:41:42 32372 [Note] InnoDB: Reading tablespace information from the .ibd files...
2016-09-20 22:41:42 32372 [Note] InnoDB: Restoring possible half-written data pages
2016-09-20 22:41:42 32372 [Note] InnoDB: from the doublewrite buffer...
2016-09-20 22:41:42 32372 [Note] InnoDB: Starting an apply batch of log rec ord s to the database... InnoDB: Progress in percent: 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: Apply batch completed InnoDB: Last MySQL binlog file position 0 136254, file name mysql-bin.00 001 3 2016-09-20 22:41:43 32372 [Note] InnoDB: 128 rollback segment(s) are active. 2016-09-20 22:41:43 32372 [Note] InnoDB: Waiting for purge to start 2016-09-20 22:41:43 7f77a9edd700 InnoDB: Assertion failure in thread 140151928772352 in file trx0purge.cc line 699
RREEE
気づいたら、データベースを再起動できない理由は、ibdata1 ファイルが破損しており、再起動後に正常に復元できないためです
解決策:
回復手順をスキップする必要があります
。 cnf ファイルを作成し、my.cnf の [mysqld] に追加します: innodb_force_recovery = 6
innodb_purge_threads = 1
説明:
inno db_force_recovery は 1 ~ 6 に設定できます。大きい数字には、以前のすべての数字が含まれます
の影響 対応する数字の意味:
1-----(SRVFORCEIGNORECORPT): 検出された破損ページを無視します 2----- (SRVFORCENOBACKGROUND): メインスレッドをフルに実行する必要がある場合、メインスレッドが実行されないようにします。3-----(SRVFORCENOTIRXUNDO): トランザクションのロールバック操作を実行しません。 ---(SRVFORCENOIBUFMERGE): 挿入バッファのマージ操作を実行しません。 -(SRVFORCENOUNDOLOGSCAN): REDO ログをチェックしません。
mysqlを再度起動すれば問題ありません。~
それでも起動できない場合は、データディレクトリdatafile内のibdata1、ib_logfile*およびその他のファイルを削除する必要があります。
起動後に MySQL データベースをエクスポートし、再度復元します。
以上がmysql が起動直後にシャットダウンする問題 (ibdata1 ファイルの破損が原因) を解決するための詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。