Linux で MySQL データベースのデータ ファイル パスを変更する手順

Linux で MySQL データベースのデータ ファイル パスを変更する手順

rpm インストール方法を使用して MySQL データベースをインストールした後、データ ファイルのデフォルト パスは /var/lib/mysql になります。ただし、ルート ディレクトリはデータ ファイルの保存には適していません。

元のパス: /var/lib/mysql

ターゲットパス: /home/mysql_data/mysql

Linux システムバージョン: centos7.6

MySQL データベース バージョン: 5.7.25

ステップ:

1. ターゲットパスを作成する

mkdir -p /home/mysql_data

2. MySQLをシャットダウンする

systemctl stop mysqld

3. データファイルをコピーする

cp -arp /var/lib/mysql /home/mysql_data

4. 設定ファイル/etc/my.cnfを変更する

データディレクトリとソケットの元のパスをターゲットパスに変更します

データディレクトリ=/home/mysql_data/mysql
ソケット=/home/mysql_data/mysql/mysql.sock

5. MySQLサービスを開始する

systemctl start mysqld

注記:

1. エラーは次のとおりです。

2019-12-22T08:32:42.430564Z 0 [エラー] InnoDB: ファイル操作でオペレーティング システム エラー番号 13 が発生しました。
2019-12-22T08:32:42.430599Z 0 [エラー] InnoDB: このエラーは、mysqld にディレクトリへのアクセス権がないことを意味します。
2019-12-22T08:32:42.430616Z 0 [注記] InnoDB: 一時テーブル用の共有テーブルスペースの作成
2019-12-22T08:32:42.430898Z 0 [エラー] InnoDB: innodb_temporary データ ファイル 'ibtmp1' は書き込み可能である必要があります
2019-12-22T08:32:42.430923Z 0 [エラー] InnoDB: innodb_temporary データ ファイル 'ibtmp1' は書き込み可能である必要があります
2019-12-22T08:32:42.430936Z 0 [エラー] InnoDB: 共有 innodb_temporary を作成できませんでした。
2019-12-22T08:32:42.430952Z 0 [エラー] InnoDB: プラグインの初期化がエラーで中止されました 一般的なエラー
2019-12-22T08:32:43.038973Z 0 [エラー] InnoDB: ファイル操作でオペレーティング システム エラー番号 13 が発生しました。
2019-12-22T08:32:43.039021Z 0 [エラー] InnoDB: このエラーは、mysqld にディレクトリへのアクセス権がないことを意味します。
2019-12-22T08:32:43.039037Z 0 [エラー] プラグイン 'InnoDB' 初期化関数がエラーを返しました。
2019-12-22T08:32:43.039046Z 0 [エラー] プラグイン「InnoDB」をストレージエンジンとして登録できませんでした。
2019-12-22T08:32:43.039056Z 0 [エラー] 組み込みプラグインの初期化に失敗しました。
2019-12-22T08:32:43.039063Z 0 [エラー] 中止しています

解決する:

次のコマンドを実行します:

setenforce 1

もう一度再起動

2. エラーは次のとおりです。

ソケット '/var/lib/mysql/mysql.sock' 経由でローカル MySQL サーバーに接続できません

解決する:

設定ファイル my.cnf を変更し、次の設定を追加または変更します。

[クライアント]
ソケット = /home/mysql_data/mysql/mysql.sock

要約する

上記は、Linux での MySQL データベース データ ファイル パスの変更についてご紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • ウィンドウとLinuxプロジェクトを展開する際のLinuxファイルパスに問題はありません
  • Kali Linux の共通ファイルとコマンドパスの詳細な説明
  • Linuxで実行中のファイルのフルパスを照会する方法
  • Linux で指定パスのファイルの tar パッキングを実装する方法
  • Linux でファイル記述子を介してファイルの絶対パスを取得する方法
  • Linux サーバー上の MySQL 設定ファイルのパスを表示する方法
  • Linuxはmysqlデータベースファイルのパスを変更します
  • Linuxコマンドに基づいてフォルダー内の特定のファイルパスを抽出します

<<:  Vue の基本入門: Vuex のインストールと使用

>>:  Docker イメージに基づいて Go プロジェクトをデプロイする方法と手順

推薦する

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

MySQL関数の包括的な概要

目次1. MySQLでよく使われる文字列関数2. 数値関数3. 日付と時刻の機能4. プロセス機能5...

CSS3を使用してプログレスバー効果を実現し、動的にパーセンテージを追加する

プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

CSSタグの表示モードの詳細な説明

ラベル表示モード(重要) divタグとspanタグ1. スタイルはまったく同じですが、ラベルが異なり...

SQL インジェクション脆弱性プロセスの例と解決策

コード例: パブリッククラスJDBCDemo3 { パブリック静的voiddemo3_1(){ bo...

JavaScript 配列 sort() メソッドの基本的な使い方と落とし穴

序文日常のコード開発では、配列のソートに関連する操作が多数あります。JavaScript では、so...

発生したブラウザの互換性の問題と解決策(推奨)について

序文:先週の日曜日、先輩から3ページ作るのを手伝って欲しいと頼まれました。データのやり取りなどはなく...

MySQL で制限を使用するとパフォーマンスに影響するのはなぜですか?

まず、MySQL のバージョンについて説明します。 mysql> バージョンを選択します();...

Vue を使用して 2 つのデータ セットの違いを比較する視覚化コンポーネントの詳細な説明

目次必要:要点:これまでの要点に従って、コンポーネントのプロパティを確立できます。コンポーネントの基...

VUE 3 テレポート コンポーネントと使用構文をすぐに使い始める

目次1. テレポートの紹介1.1. 複数のテレポートを使用する2. テレポートを使用する理由3. テ...

フロントエンドインタビューに必要なホモロジーとクロスドメインの詳細な説明

序文ご存知のとおり、ブラウザの相同性戦略とクロスドメイン方式も、フロントエンド面接で頻繁に遭遇する問...

MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...

JS を使用してデータ型を決定する 4 つの方法

目次序文1. 型2. インスタンス3. コンストラクター詳細: 4. 文字列要約する序文Javasc...

MySQL クエリの最適化: クエリが遅い原因と解決策

開発に携わっている友人、特に MySQL に関係のある友人は、非常に遅い MySQL クエリに遭遇す...