目次
MySQL データ ディレクトリ構造 (2)
3 データベース ディレクトリの再配置
3.1 再配置方法
3.1 再配置の効果を検証する
3.2 データ ディレクトリの再配置
3.3 データベースの再配置
3.4 データベーステーブルの再配置
ホームページ php教程 php手册 MySQL データディレクトリ構造 (2) 転送

MySQL データディレクトリ構造 (2) 転送

Jun 21, 2016 am 09:09 AM
mysql mysqld nbsp pid var

mysql|データ|データディレクトリ

MySQL データ ディレクトリ構造 (2)


[潏子]

3 データベース ディレクトリの再配置


前に説明したデータ ディレクトリ構造はデフォルトの構成であり、すべてのデータベース ファイルと状態ファイルがその中に含まれています。データの決定 ディレクトリの内容の場所。このセクションでは、データ ディレクトリの一部 (またはディレクトリ自体) を移動する理由、移動できるもの、およびこれらの変更を行う方法について説明します。
MySQL では、データ ディレクトリまたはそのメンバーを再配置できます。これを行う理由はいくつかあります。
  • デフォルトのファイル システムよりも大きな容量のファイル システムにデータ ディレクトリを配置できます。
  • データ ディレクトリがビジーなハード ドライブ上にある場合は、ディスク アクティビティを平準化するために、ビジーでないディスクにデータ ディレクトリを置くことができます。データベースとログ ファイルを別のディスクに配置することも、複数のディスクに分散することもできます。
  • それぞれ独自のデータ ディレクトリを持つ複数のサーバーを実行することもできます。これは、特により高い制限を許可するようにカーネルを再構成できないため、プロセスごとのファイル記述子の制限問題を回避する 1 つの方法です。
  • 一部のシステムでは、サーバーの一部のファイルが /var/run などに保存されます。システム操作の一貫性を保つために、MySQL PID ファイルもそこに保存することをお勧めします。

3.1 再配置方法


データディレクトリの内容を再配置するには 2 つの方法があります:
  • サーバーの起動時に、コマンドラインまたはオプションファイルの [mysqld] でオプションを指定できます。
  • 再配置したいものを移動し、元の場所に新しい場所を指すシンボリックリンクを作成できます。

どちらの方法でも、再配置できるすべてを解決できるわけではありません。次の表に、再配置できるものと使用する方法をまとめます。オプション ファイルを使用する場合、グローバル オプション ファイル /etc/my.cnf (Windows では c:my.cnf) でオプションを指定できます。現在の Windows バージョンでは、システム ディレクトリ (c:Windows または c:NT) も検索されます。テーブルの再配置方法 再配置方法 適用可能な再配置方法 データ全体 ディレクトリ起動オプションまたはシンボリック リンク 単一データベース ディレクトリ シンボリック リンク 単一データベース テーブル シンボリック リンク PID ファイル起動オプション 一般ログ起動オプション 更新ログ起動オプション
デフォルトのデータ オプション ファイル my.cnf も使用できますディレクトリ内にありますが、その使用は非推奨です。データ ディレクトリ自体を再配置したい場合は、サーバーが「実際の」データ ディレクトリを見つける場所を指定するためのオプション ファイルをここに配置できるように、デフォルトのデータ ディレクトリを読み取り可能にする必要があります。ややこしい。オプション ファイルを使用してサーバー オプションを指定する場合は、/etc/my.cnf を使用するのが最適です。

3.1 再配置の効果を検証する


何かを再配置する前に、操作が期待どおりの効果があることを検証することをお勧めします。ディスク容量情報は、du、df、および ls -l コマンドを使用して取得できますが、これらはファイル システムのレイアウトを正しく理解していることに依存します。
以下は、ディレクトリの再配置をチェックする際の設計上の落とし穴を示しています。データ ディレクトリが /usr/local/var で、/var ファイル システムに多くの空き領域があることが df で示されているため、それを /var/mysql に移動したいとします。
%df /usr /varFilesystem  1k-blocks     Used   Avail  Capacity  Mounted on/dev/wd0s3e    396895   292126   73018    80%     /usr/dev/wd0s3f   1189359  1111924  162287    15%     /var  
ログイン後にコピー

再配置されたデータ ディレクトリは / にあります。 usr ファイル システムにはどのくらいの空き容量がありますか?それを知るには、 du -s を使用して、ディレクトリが使用しているスペースの量を調べます。
%cd /usr/local/var%du -s .133426
ログイン後にコピー

これ約130MBなんですが本当ですか?データディレクトリで df を試してみてください:
%df /usr/local/varFilesystem  1k-blocks     Used   Avail  Capacity  Mounted on/dev/wd0s3f   1189359  1111924  162287    15%     /var 
ログイン後にコピー

これは奇妙です。 /usr/local/var を含むファイル システムの空きスペースを要求した場合、var 上のスペースが報告されるのはなぜですか?ここで ls -l が答えを提供します:
%ls -l /usr/local....lrwxrwxrwx  1  root  wheel  10 Dec 11 23:33 var -> /var/mysql.... 
ログイン後にコピー

出力は、/usr/local/var が /var/mysql へのシンボリック リンクであることを示しています。つまり、データ ディレクトリはシンボル ポイントで /var ファイル システムに再配置されています。代わりにそこに接続します。データ ディレクトリを /var に移動することにより、/usr 上の多くのスペースが解放されました。

3.2 データ ディレクトリの再配置


データ ディレクトリを再配置するには、サーバーをシャットダウンし、データ ディレクトリを新しい場所に移動します。その後、データ ディレクトリを削除して、新しい場所を指すシンボリック リンクに置き換える必要があります。新しい場所を明示的に指定してサーバーを再起動します。次の表に、指定された場所のコマンド ラインとオプションを示します。テーブル データ ディレクトリの再配置構文 オプション ソース構文 コマンド ライン --data-dir=/path/to/dir オプション ファイル [mysqld]
datadir=/path/to/dir

3.3 データベースの再配置


データベースはシンボル方式で接続可能削除されました。データベースを再配置するには、サーバーをシャットダウンしてデータベース ディレクトリを移動し、元のデータベース ディレクトリを削除して、新しい場所を指すシンボリック リンクに置き換えてから、サーバーを再起動します。
次の例は、データベース bigdb を別の場所に移動する方法を示しています:
%mysqladmin -u root -p shutdownEnter password: ******%cd DATADIR%tar cf - bigdb | (cd /var/db; tar xf -)%mv bigdb bigdb.origln -s /var/db/bigdb .%safe_mysqld 
ログイン後にコピー

これらのコマンドはデータ ディレクトリの所有者として実行する必要があります。セキュリティ上の理由から、元のデータベース ディレクトリの名前は bigdb.orig に変更されました。サーバーが正常に動作していることを確認したら、元のデータ ディレクトリを削除できます。
%rm -rf bigdb.orig

3.4 データベーステーブルの再配置


別のテーブルを再配置することはお勧めできません。これを行うには、テーブル ファイルを別の場所に移動し、データ ディレクトリ内のファイルへのシンボリック リンクを作成します。ただし、ALTER TABLE または OPTIMIZE TABLE ステートメントを発行した場合、変更は行われません。
各ステートメントは、変更または最適化を実装する一時テーブルをデータベース ディレクトリに作成し、元のテーブルを削除して一時テーブルの名前を元のテーブルに変更することによって完了します。その結果、シンボリック リンクが削除され、新しいテーブルが復元されます。 . データベース ディレクトリ (移動前の元のテーブル ファイルの場所) に移動します。さらに悪いことに、それらがそこにあり、スペースを占有し続けていることに気づかず、シンボリックな接続が壊れているため、後で何が起こったのかに気づいたときに、それらをどこに移動したか忘れてしまうと、良いことはありません。もうファイルを追跡する方法はありません。
テーブルアクセス権を持つ誰かがテーブルを変更または最適化しないことを保証するのは難しいため、テーブルをデータベースディレクトリに残しておくことが最善です。


3.5 ステータスファイルの再配置


PIDファイル、一般ログ、更新ログを再配置できます。エラー ログは、safe_mysqld によって起動オプションを指定して作成され、(safe_mysqld を編集しない限り) 再配置することはできません。
状態ファイルを別の場所に書き込むには、サーバーをシャットダウンし、新しい状態ファイルの場所を指定する適切なオプションを使用してサーバーを起動します。次の表に、各ファイルのコマンド ラインとオプション ファイルの構文を示します。テーブル ステータス ファイルの再配置構文 オプション ソース構文 コマンド ライン --pid-file=pidfile
--log=lodfile
--log-update=updatefileoptions file [mysqld]
pid-file=pidfile
log=lodfile
log-update=updatefile
ステータスファイルを絶対パス名で指定した場合はそのパスでファイルが作成され、それ以外の場合はデータディレクトリにファイルが作成されます。たとえば、--pid-file=/var/run/mysqld.pid を指定した場合、PID ファイルは /var/run/mysqld.pid になります。 -pid-file=mysqld.pid を指定した場合、PID ファイルは DATADIR/mysqld.pid になります。
拡張子なしで更新ログ ファイルを指定すると、MySQL は更新ログを開くたびに連続した名前を生成します。これらの名前には拡張子 .nnn が付いています。ここで、.nnn は、既存の更新ログ (update.000、update.001 など) で使用されていない最初の番号です。拡張子を明示的に指定することで、連続した名前をオーバーライドできます。この場合、サーバーは指定された名前のみを使用します。



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Redis ExporterサービスでRedis Dropletを監視します Redis ExporterサービスでRedis Dropletを監視します Apr 10, 2025 pm 01:36 PM

Redisデータベースの効果的な監視は、最適なパフォーマンスを維持し、潜在的なボトルネックを特定し、システム全体の信頼性を確保するために重要です。 Redis Exporter Serviceは、Prometheusを使用してRedisデータベースを監視するために設計された強力なユーティリティです。 このチュートリアルでは、Redis Exporterサービスの完全なセットアップと構成をガイドし、監視ソリューションをシームレスに構築します。このチュートリアルを研究することにより、完全に動作する監視設定を実現します

SQLデータベースエラーを表示する方法 SQLデータベースエラーを表示する方法 Apr 10, 2025 pm 12:09 PM

SQLデータベースエラーを表示する方法は次のとおりです。1。エラーメッセージを直接表示します。 2。エラーを表示し、警告コマンドを表示します。 3.エラーログにアクセスします。 4.エラーコードを使用して、エラーの原因を見つけます。 5.データベース接続とクエリ構文を確認します。 6.デバッグツールを使用します。

See all articles