問題を見つける 最近、仕事中に問題が見つかりました。問題は、MySQL ディスクがいっぱいだったことです。データベース ディレクトリのデータを /data3 ディレクトリに移動し、/etc/my.cnf 内の対応する datadir ディレクトリを変更して、権限を付与しました。ただし、service mysql の起動時にエラーが発生しました。以下では詳しく説明しません。詳細な解決策を見てみましょう。 エラー ログには次の内容が表示されます。 2017-09-15 16:01:01 2420 [警告] myisam-recover-options の代わりに固有のオプション プレフィックス myisam-recover を使用することは非推奨であり、将来のリリースで削除される予定です。代わりにフルネームを使用してください。 2017-09-15 16:01:01 2420 [注意] プラグイン「FEDERATED」は無効になっています。 ^G/usr/sbin/mysqld: ファイルが見つかりません: './mysql/plugin.frm' (エラー番号: 13 - アクセス権が拒否されました) 2017-09-15 16:01:01 2420 [エラー] mysql.plugin テーブルを開けません。mysql_upgrade を実行して作成してください。 2017-09-15 16:01:01 2420 [注記] InnoDB: アトミックを使用してバッファプールページを参照カウントする 2017-09-15 16:01:01 2420 [注意] InnoDB: InnoDB メモリヒープが無効になっています 2017-09-15 16:01:01 2420 [注記] InnoDB: ミューテックスと rw_locks は GCC アトミック組み込み関数を使用します 2017-09-15 16:01:01 2420 [注意] InnoDB: メモリバリアは使用されません 2017-09-15 16:01:01 2420 [注記] InnoDB: 圧縮テーブルは zlib 1.2.8 を使用します 2017-09-15 16:01:01 2420 [メモ] InnoDB: LinuxネイティブAIOの使用 2017-09-15 16:01:01 2420 [注記] InnoDB: CPU crc32 命令の使用 2017-09-15 16:01:01 2420 [注記] InnoDB: バッファプールを初期化しています。サイズ = 128.0M 2017-09-15 16:01:02 2420 [注記] InnoDB: バッファプールの初期化が完了しました 2017-09-15 16:01:02 2420 [エラー] InnoDB: ./ibdata1 は読み取り/書き込みモードで開くことができません 2017-09-15 16:01:02 2420 [エラー] InnoDB: システム テーブルスペースは書き込み可能である必要があります。 2017-09-15 16:01:02 2420 [エラー] プラグイン 'InnoDB' 初期化関数がエラーを返しました。 2017-09-15 16:01:02 2420 [エラー] プラグイン「InnoDB」をストレージエンジンとして登録できませんでした。 2017-09-15 16:01:02 2420 [エラー] 不明/サポートされていないストレージ エンジン: InnoDB 2017-09-15 16:01:02 2420 [エラー] 中止しています まず、plugin.frm の権限を確認します。frm は MySQL テーブル構造定義ファイルです。通常、frm ファイルは破損しません。ただし、特殊な状況下で frm ファイルが破損した場合は、あきらめないでください。MyISAM および InnoDB テーブルを修復する場合、MySQL サービスは最初に frm ファイルを呼び出すため、frm ファイルを修復することによってのみ、その後のデータ復旧を実行できます。 次に、plugin.frm に権限があり、mysql の所有者でもあることがわかりました。 root@hutaojie-1-pdd-sh:/data1/mysql/mysql# ll プラグイン。* -rwxrwxrwx 1 mysql mysql 8586 2016年3月6日 plugin.frm* -rwxrwx--x 1 mysql mysql 116 2016年3月6日 plugin.MYD* -rwxrwx--x 1 mysql mysql 2048 2016年3月6日 plugin.MYI* ルート@hutaojie-1-pdd-sh:/data1/mysql/mysql# Google で検索したところ、問題は OS にあることがわかりました。Ubuntu の MySQL を yum または rpm でインストールすると、/etc/apparmor.d/usr.sbin.mysqld ファイルが作成されます。そこにデータ ディレクトリがない場合、エラーが報告されます。 /usr/sbin/mysqld: ファイルが見つかりません: './mysql/plugin.frm' (エラー番号: 13 - アクセス権が拒否されました) 回避策 したがって、解決策は、そこに新しい datadir ディレクトリを追加することです。 root@huayuan:/var/lib# vim /etc/apparmor.d/usr.sbin.mysqld # vim:構文=apparmor # 最終更新日: 2007年6月19日火曜日 17:37:30 #include <調整可能/グローバル> /usr/sbin/mysqld { #include <抽象/ベース> #include <abstractions/nameservice> #include <abstractions/user-tmp> #include <abstractions/mysql> #include <abstractions/winbind> 機能 dac_override、 機能 sys_resource、 機能設定、 機能setuid、 ネットワーク TCP、 /run/mysqld/mysqld.pid rw、 /run/mysqld/mysqld.sock w、 /sys/devices/system/cpu/r、 #.........ここに新しい datadir ディレクトリを記述し、r の行 1 つと rwk の行 1 つを合計 2 行記述します。 /data3/mysql/ r, /data3/mysql/** rwk、 # サイト固有の追加と上書き。詳細については、local/README を参照してください。 #include <local/usr.sbin.mysqld> } 次に、mysql インスタンスを再起動すると、問題は解決します。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: リモート Linux システムでポートが開いているかどうかを確認する 3 つの方法
>>: JavaScriptでページスクロールアニメーションを実装する
SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...
先日、rsync を使用して LAN 上の別のシステムに大きなファイルを転送していました。非常に大き...
シナリオ: 検査文書には n 個の検査詳細があり、検査詳細には n 個の検査項目があります。実装効果...
この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...
MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...
序文binlog は、MySQL のすべての追加、削除、および変更ステートメントを記録するバイナリ ...
この記事では、時間範囲効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...
1. catalina.bat は UTF-8 に設定する必要があります。UTF-8 に設定しないと...
Docker Swarm は、Docker によって開発されたコンテナ クラスター管理サービスです。...
その理由は、このタイプの Web ページが WAP と呼ばれるワイヤレス プロトコルから生成されたた...
1. CLionをダウンロード、インストール、アクティベートするオンラインで提供されるチュートリアル...
この文書はMySQL Server 8.0.3のインストールと設定方法を参考のために記録したものです...
目次1. ダウンロード2. インストール3. my.ini ファイルを設定する(デフォルトのエンコー...
目次1. はじめに2. 切り替え1. 開発および本番環境の設定ファイルを追加する2. 複数の環境をサ...
最近、私は毎日論文提案に取り組んでいます。自分のスキルを発揮して、再びWebをデザインしたくてうずう...