UbuntuでMySQLデータベースファイルディレクトリを変更する方法

UbuntuでMySQLデータベースファイルディレクトリを変更する方法

序文

同社の Ubuntu サーバーは、さまざまなシステムのディレクトリを異なる論理パーティションに配置しています。たとえば、MySQL データベース ファイルを保存するためのデフォルトのディレクトリ /var/lib/mysql は別のパーティションに配置されており、システム ディレクトリ /var/ も別のパーティションに配置されています。ただし、このパーティションのサイズは固定されており、データベース ファイル全体を保存するには不十分です。ただし、別のシステムディレクトリ /data のサイズが T レベルに達し、ニーズを大幅に満たしているため、データベースファイルディレクトリを変更する必要があります。

以下は、インターネット上のいくつかの記事を参考にして試したプロセスです。

1. データベース サービスを停止します。

/etc/init.d/mysql stopまたはstop mysql使用します。

2. ターゲットの場所 (/data) にデータベース ファイル用のディレクトリ (/mysqldb など) を作成し、元のデータベース ファイル ディレクトリをこのディレクトリにコピーします (デフォルトの場所を使用しない場合は、元のデータベース ファイルを新しいディレクトリに直接 mv できます)。

cd /データ

mkdir mysqldb

cp -r /var/lib/mysql /data/mysqldb/

しばらく待つと、/data/mysqldb/の下に元のデフォルトのmysqlデータベースファイルディレクトリ「/mysql」のコピーが作成されます。

3. my.cnfファイルを変更する

# vim /etc/mysql/my.cnf

datadir = /var/lib/mysql datadir = /data/mysqldb/mysql変更します。

さらに、現在の my.cnf にはsocket = /var/run/mysqld/mysqld.sock (インターネットで言及されている sock = /var/lib/mysql/mysql.sock ではない) があるため、つまり、ソケットの場所はデータベース ファイルが配置されている場所ではないため、他の Web ページに記述されている操作を行う必要はなく、次のコマンドを使用して mysql.sock リンクを作成します。

ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (/home/data/mysql からコピーする必要があります)

4. データベースの権限を変更します。

# chown -R mysql:mysql /data/mysqldb/mysql/ ← データベースファイルディレクトリの所有権をmysqlに変更します

# chmod 700 /data/mysqldb/mysql/whois/ ← データベースディレクトリのwhois属性を700に変更します

# chmod 660 /data/mysqldb/mysql/whois/* ← データベース内のデータテーブルの属性を660に変更します

5. usr.sbin.mysqldファイルを変更する

# vim /etc/apparmor.d/usr.sbin.mysqld

バンドル

/var/lib/mysql r,

/var/lib/mysql/** rwk、

変更する

/data/mysqldb/mysql/ r,

/data/mysqldb/mysql/** rwk、

注意: この手順を実行しないと、データベース サービスは再起動できません。再起動しているように見えますが、停止して応答しません。

6. MySQLサーバーを起動する

/etc/init.d/apparmor を再起動する

/etc/init.d/mysql 再起動 (または restart mysql を使用)

終わり!

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQLでデータベースデータ保存ディレクトリを変更する方法
  • MySQLのスイッチングデータ保存ディレクトリの実装方法
  • Linuxでmysqlデータベースディレクトリを変更する手順
  • mysql5.5 データベースデータディレクトリ移行方法の詳細な説明
  • Centos MySQL データベースディレクトリの変更
  • Mysql データベースのストレージ ディレクトリを変更するにはどうすればよいでしょうか?
  • Win2008 r2 で MySQL データ ディレクトリを変更する方法
  • MySQLデータディレクトリを再配置する方法
  • メモリ内にMySQLの一時ディレクトリを作成するチュートリアル

<<:  Docker に MySQL と MariaDB をインストールする方法

>>:  Vue+Spring Bootで検証コード機能を実現

推薦する

JavaScript イベント キャプチャ バブリングとキャプチャの詳細

目次1. イベントの流れ1. コンセプト2. DOMイベントフロー2. イベントの委任1. イベント...

MySQL ストレージ エンジンの基礎

前回の記事では、MySQL トランザクションについて説明しました。これで、MySQL トランザクショ...

ろうそくを溶かす(水滴)サンプルコードを実現する純粋な CSS

成果を達成する実装のアイデアフィルターのコントラストとぼかしを利用して溶ける効果を実現します。親要素...

Centos7 の起動プロセスと Systemd での Nginx の起動構成

Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...

Reactの原理の説明

目次1. setState() の説明1.1 データの更新1.2 推奨構文1.3 2番目のパラメータ...

JavaScriptはフォームデータの非同期送信を実装します

この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考ま...

MySQL Binlog ログ処理ツールの比較分析

目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...

html-cssタグのスタイル設定が機能しない2つの理由

1 セミコロン「;」のない CSS スタイル2 タグが閉じられておらず、「>」がありません...

MySQL ロックの知識ポイントのまとめ

ロックの概念①. 現実世界では、鍵は外の世界から身を隠したいときに使う道具です。 ②. コンピュータ...

Vue3.0 でページング コンポーネントを手動でカプセル化する方法

この記事では、vue3.0の手動カプセル化ページングコンポーネントの具体的なコードを参考までに紹介し...

CSSは複数の要素をボックスの両端に揃える効果を実現します

要素の両端を揃える配置レイアウトは、実際の開発のいたるところで見られます。これは、フレックスレイアウ...

Linux gccコマンドの具体的な使い方

01. コマンドの概要gcc コマンドは、GNU がリリースした C/C++ ベースのコンパイラを使...

アダプティブ Web デザインを実現する方法に関する関連知識ポイントの要約

「アダプティブ Web デザイン」はどのように機能しますか?実はそれほど難しいことではありません。 ...

MySQL 8.0.11 圧縮版のインストールチュートリアル

この記事では、MySQL 8.0.11のインストールチュートリアルを参考までに紹介します。具体的な内...