Linux (CentOS) システムで MySQL データベース ディレクトリの場所を変更する方法

Linux (CentOS) システムで MySQL データベース ディレクトリの場所を変更する方法

CentOS システムで MySQL データベース ディレクトリの場所を変更する方法

1. まず、MySQL をシャットダウンする必要があります。コマンドは次のとおりです。

サービスmysqld停止

2. 次に、データを転送します。安全上の理由から、まずコピー コマンド cp を使用して、mysql の元のディレクトリを見つけます。

/var/lib にコピー
ls

このコマンドを実行すると、mysqlディレクトリが表示され、cpコマンドを実行します。

cp -a mysql /home/mysql_data/

これにより、データベースが/home/mysql_dataにコピーされます。

注: ( -aパラメータを含める必要があります。そうしないと、コピーされた権限が正しくなくなります。)

データベースが大きい場合は、時間がかかり、タイムアウトする可能性があります。ssh がタイムアウトしないように設定する方法については、関連情報を参照してください。

3. 次に、設定ファイルを変更します。設定ファイルは全部で 3 つあります。1 つずつ説明しましょう。

最初のファイルを変更する: 変更する前にバックアップしてください

cp /etc/my.cnf /etc/my.cnfbak
vi /etc/my.cnf

開いたら、datadir のディレクトリを/home/mysql_data/mysqlに変更します。

socket /home/mysql_data/mysql/mysql.sockに変更します。安全のために、元のソケットをコメント アウトしてから、新しい行を追加して現在のディレクトリに変更することもできます。

2番目のファイルを変更する: 変更する前にバックアップする

cp /etc/init.d/mysqld /etc/init.d/mysqldbak
vi /etc/init.d/mysqld

注: /etc/init.dから/etc/rc.d/init.dへのマッピングがあるため、正確な場所は/etc/rc.d/init.d/mysqldです。

したがって、上記のコマンドを使用するだけで、これも簡単です。

datadir=/var/lib/mysql行で、等号の右側のパスを実際のストレージ パス ( /home/mysql_data/mysqlに変更します。

3番目のファイルを変更する: 変更する前にバックアップする

cp /usr/bin/mysqld_safe /usr/bin/mysqld_safebak
vi /usr/bin/mysqld_safe

ここでもdatadirディレクトリを/home/mysql_data/mysqlに変更します。

4. 次に、 mysql.sockリンクを作成する必要があります。

: := src = mysql_data; ...

この時点ですべての変更が完了し、mysqlを起動します。

サービスmysqldの開始

またはLinuxを再起動します

リブート

Mysqlが正常に動作しているか確認します。正常に起動できれば基本的に問題ありません。

MySQLの基本的なチュートリアルについては、以下の関連記事をクリックしてください。

以下もご興味があるかもしれません:
  • Linuxでディレクトリを効率的に切り替える方法
  • Linux シェルでファイルとディレクトリが存在するかどうかを確認する方法
  • Linux シェルからファイル名とディレクトリ名を抽出する方法
  • Linuxシステムで実行中のnginxディレクトリを見つける
  • Linux でフォルダーの下にあるすべてのディレクトリとファイル名をバッチで抽出する
  • Linux のディレクトリ内で時間でフィルタリングされたファイルを検索する方法の詳細な説明
  • CD コマンドを使わずに Linux でディレクトリ/フォルダに入る方法
  • Linux ディレクトリ切り替え実装コード例

<<:  nginx + セカンダリドメイン名 + https サポートを使用する

>>:  JavaScript コードを省略する一般的な方法の概要

推薦する

Tomcat10 Catalinaのログの文字化けの問題を解決する

実行環境、Idea2020バージョン、Tomcat10、実行時にTomcat CatalinaLog...

角度でechartsマップを使用する詳細な説明

目次echartの初期化アプリベースチャートコンポーネントhtml CS app-base-char...

MySQLは2つの日付間の日数、月数、年数を計算します

MySQL 組み込みの日付関数 TIMESTAMPDIFF は、2 つの日付間の秒数、分数、時間数、...

MySql でリモート接続を許可する方法

MySql でリモート接続を許可する方法この目標を達成するには、2つのことを行う必要がある。ユーザー...

シンプルなウェブページレイアウトの構造と表現原理の共有

構造とパフォーマンスの紹介HTML 構造、CSS 表現、JavaScript 動作。Web ページの...

HTML で特定のテキストを非表示にするにはどうすればよいでしょうか?

テキスト非表示コード、HTML 内の特定のテキストを非表示にするコードをコピーコードは次のとおりです...

CentOS に MySQL 5.5 をインストールするための完全な手順

目次1. インストール前の準備、インストールパッケージのダウンロード1 インストールの準備2 インス...

Zabbixリモートコマンド実行の詳細な例

目次1つ。環境二。予防三つ。例Zabbix トリガーがしきい値に達すると、アラート メッセージの送信...

node.js でマルチコア CPU を最大限に活用する方法

目次概要node.js でマルチコア CPU を最大限に活用する方法Node で子プロセスを作成する...

繰り返し送信、繰り返し更新、バックオフ防止に関する問題と解決策の分析

1つ。序文<br />この種の質問は、どの専門掲示板でも見かけます。Google で検索...

Dockerのプロセスとイメージを実行するための基本コマンドの詳細な説明

目次1. ワークフローを実行する2. ミラーリングの基本コマンド1. ワークフローを実行するDock...

Linux で Docker を使用して MySQL をインストールする手順

テスターとして、学習プロセス中に Linux でソフトウェアをインストールする必要が頻繁にある場合が...

テキストまたはJSONを返すようにnginxを設定する方法

特定のインターフェースをリクエストするときに、指定されたテキスト文字列または JSON 文字列を返す...

JSに関する7つの面接の質問、あなたはいくつ正しく答えられますか

序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...

MySQL マスタースレーブレプリケーションの実装手順

目次mysql マスタースレーブレプリケーションMySQL マスタースレーブレプリケーション方式My...