mysql data_dirの変更によって発生するエラー問題を解決する

mysql data_dirの変更によって発生するエラー問題を解決する

今日は、新しく購入した Alibaba Cloud ECS 環境 (Ubuntu 16.04 LTS) をセットアップしました。新しくマウントしたディスク (/mnt にマウント) に MySQL データを保存する必要があります。まず、MySQL サービスを停止し、MySQL データが保存されている場所を確認します。

vi /etc/mysql/mysql.conf.d/mysqld.cnf

データが保存されているディレクトリであるdatadir=/var/lib/mysql見つけたので、これをdatadir=/mnt/mysqlに変更して保存し、最後に mysql に保存されたデータを /mnt にコピーしました。

cp -r /var/lib/mysql /mnt
chown -R mysql:mysql /mnt/mysql

コピーが完了したら、すべての準備が整ったと思ったので、mysql サービスを開始しました。

systemctl で MySQL を起動します

しかし、起動に失敗したことがわかったので、mysql エラー ログを確認しました。

テール -f -n100 /var/log/mysql/error.log

エラー情報は次のとおりです。

[警告] テストファイル /mnt/mysql/iZwz9c03srb2lq9l374if5Z.lower-test を作成できません

よく考えてみると、mysql の設定に問題はないはずです。 apparmor の設定を確認します。

vi /etc/apparmor.d/usr.sbin.mysqld

次の構成が見つかりました:

# データディレクトリへのアクセスを許可する
/var/lib/mysql/r、
/var/lib/mysql/** rwk、

なんとも落とし穴です。mysql datadir的/var/lib/mysql変更したのですが、ここでもまだ制限されているので、次のように変更しました。

# データディレクトリへのアクセスを許可する
/var/lib/mysql/r、
/var/lib/mysql/** rwk、
/mnt/mysql/ r,
/mnt/mysql/** rwk、

保存。 apparmor サービスを再起動します。

サービスapparmorの再起動

次に、mysql サービスを再度開始します。

systemctl で MySQL を起動します

ついにサービスが正常に開始されました。 。 。

上記は、mysql data_dir の変更によって発生するエラー問題を解決するための編集者による紹介です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残してください。すぐに返信いたします。123WORDPRESS.COM ウェブサイトをご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • データディレクトリの変更によりMysqlが起動できない問題の解決方法

<<:  nginxプロキシsocket.ioサービスの落とし穴の詳細な説明

>>:  Node.js の TCP 接続処理のコア プロセス

推薦する

ソースコード分析からTomcatがサーブレットの初期化を呼び出す方法の詳細な説明

目次導入1. Tomcatを起動するコード2. Tomcatフレームワーク3. コンテナを作成する ...

CSS3 における構造擬似クラスセレクターと擬似要素セレクターの使い方の詳細な説明

構造擬似クラスセレクタの紹介構造擬似クラスセレクターは、いくつかの特殊効果を処理するために使用されま...

MySQL が自動的に再起動する問題の解決方法

序文最近、テスト環境で MySQL データベースが自動的に再起動し続ける問題が発生しました。原因は、...

Tencent インタビュー: SQL ステートメントの実行が非常に遅くなる理由は何ですか? ---後悔シリーズは見ないで(推奨)

正直に言うと、この質問には MySQL のコア知識がかなり必要で、コンピュータ ネットワークの知識を...

MySQL グループレプリケーションの設定手順 (推奨)

MySQL-Group-Replication は、MySQL-5.7.17 で開発された新しい機...

MYSQL における char と varchar の違い

CHAR 型と VARCHAR 型は似ていますが、主に格納場所、末尾のスペース、取得方法が異なります...

アコーディオン効果を実現するネイティブ js

実際のWebページ開発でも、アコーディオンは頻繁に登場します。簡単なアコーディオンを作ったのですが、...

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

MySQLのグローバルロックとテーブルロックに関する詳細な理解

序文ロックの範囲に応じて、MySQL のロックは、グローバル ロック、テーブル ロック、行ロックに大...

16進カラーコード(完全版)

赤とピンク、およびそれらの 16 進コード。 #990033 #CC6699 #FF6699 #FF...

MySQL サーバー 5.5 の接続失敗の解決策

mysqlに接続できない問題の解決方法を参考までに紹介します。具体的な内容は以下のとおりです。昨日は...

sbinディレクトリを生成せずにNginxをインストールするソリューション

エラーの説明: 1. Linux (CentOS 7 64) システムに Nginx (1.18.0...

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

最近、MySQL を学び始めました。インストールはスムーズに進み、インターネット上の既成のチュートリ...

Windows 上で Nginx+Tomcat クラスタを実装するプロセスの分析

導入: Nginx (エンジン エックスと同じ発音) は、BSD のようなプロトコルに基づいてリリー...