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で検証コード機能を実現

推薦する

HTML ページで JSON データを表示およびフォーマットする方法

JSONデータはHTMLページ上に表示されフォーマットされます1. 表示効果図説明:すべてのキー値は...

MySql インポート CSV ファイルまたはタブ区切りファイル

別のライブラリから別のライブラリにデータをインポートする必要がある場合があり、このデータは CSV ...

WeChatミニプログラムがいいねサービスを実装

この記事では、WeChatアプレットの具体的なコードを参考までに紹介します。具体的な内容は次のとおり...

Vue+Openlayerはmodifyを使用して要素の完全なコードを変更します

Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...

Docker クロスホストネットワークの実装 (手動)

1. Macvlan の紹介Macvlan が登場する前は、イーサネット カードに複数の IP ア...

Vueのフロントエンドとバックエンドのデータのやり取りと表示を理解する方法

目次1. 技術概要2. 技術的な詳細1. インターフェースからバックエンドデータを取得する2. フロ...

MySQL に外部キー制約を追加する具体的な方法

このチュートリアルの動作環境: Windows 7 システム、MySQL 8 バージョン、Dell ...

jQueryのanimateアニメーションメソッドとアニメーションキューイング問題の解決方法の詳しい説明

目次animate() アニメーションメソッドアニメーションキューイングdelay() メソッドアニ...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...

ウェブフロントエンド開発の細部

1 選択タグは閉じられている必要があります <select></select>...

VueはOpenLayersを使用してTiandi MapとAmapを読み込み

目次1. 世界地図1. VueにOpenLayersをインストールする2. アマップ1. 世界地図1...

HTMLコードテキストボックスの制限入力テキストボックスが灰色になり、制限テキストボックスの入力

方法 1: readonly 属性を true に設定します。入力値=読み取り専用 readOnly...

RHEL8 で静的 IP アドレスを設定するさまざまな方法の簡単な分析

Linux サーバーで作業している場合、ネットワーク カード/イーサネット カードに静的 IP アド...

ページングクリックコントロールを実装するネイティブJS

これは、ネイティブJSを使用してページングクリックコントロールを実装する必要がある面接の質問です。参...

Nginx サーバーで Web クローラーをブロックおよび禁止する方法

通常、すべての Web サイトは、多くの非検索エンジン クローラーに遭遇します。これらのクローラーの...