MySQL テーブルが読み取り専用になるのはなぜですか? どのように修正すればよいですか?

Mary-Kate Olsen
リリース: 2024-10-31 13:22:02
オリジナル
276 人が閲覧しました

Why is My MySQL Table Read-Only and How Can I Fix It?

エラー 1036: テーブルは「読み取り専用」です 解決策

テーブルに対して更新クエリを実行しようとして、「1036 - テーブル」が発生した場合データは読み取り専用です」というエラーが表示された場合、テーブルが制限された状態にあることは明らかです。この問題を修正するには、以下の手順に従います。

1. MySQL 構成を調べます:

MySQL 構成ファイル (/etc/my.cnf または /etc/mysql/my.cnf) で次の設定を確認します。

innodb_force_recovery
ログイン後にコピー

場合このパラメータが 1 に設定されている場合、データベースは強制的に読み取り専用モードで動作します。書き込み操作を有効にするには、この設定をコメント アウトするか削除します。

2.テーブル属性を確認します:

サーバー ファイル システム上のテーブルのファイル アクセス許可が読み取り専用でないことを確認します。ファイルを所有するユーザーとグループの両方に対して、テーブル属性を 777 (フル権限) に設定する必要があります。

3.テーブルの最適化と修復:

未使用の領域を再利用し、パフォーマンスを向上させるには、OPTIMIZE TABLE コマンドを使用してみてください。さらに、REPAIR TABLE コマンドを実行してエラーをチェックし、不一致があれば修復します。

4. InnoDB 回復設定を確認してください:

前の手順で問題が解決しない場合は、MySQL データベースの InnoDB 回復設定を確認してください。次のクエリを実行します。

SHOW INNODB STATUS\G
ログイン後にコピー

innodb_use_sys_read_only_table で始まる行を探します。この値が 1 に設定されている場合、テーブルが強制的に読み取り専用モードになっていることを示します。この制限を無効にするには、0 に設定します。

5. MySQL を再起動します:

必要な変更を加えた後、更新を有効にするために MySQL サービスを再起動します。

以上がMySQL テーブルが読み取り専用になるのはなぜですか? どのように修正すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート