mysqlのいくつかの基礎知識


まず、データベースとデータベースのインスタンスの違いについてお話しします.彼らの違いは、プログラムとプロセスの違いを考えさせます.実は、彼らの違いは同じです.データベースとは、ファイルシステム上に静的に存在するファイルを指し、データベース・インスタンスとは、メモリ内で実行されるデータベース・バックグラウンド・スレッドとデータのメモリ領域を指します.これはプログラムのように静的なプログラムファイルを話していますが、プロセスはプログラムがメモリで実行されている状態です.データベースとインスタンスの定義については、「mysqlテクノロジーの内幕」という本の説明を借ります.
≪データベース|Database|emdw≫:物理オペレーティング・システム・ファイルまたはその他の形式のファイル・タイプのセット.Mysqlデータベースでは、データベースファイルはfrm、MYD、MYI、ibdの最後のファイルであってもよい.NDBエンジンを使用する場合、データベースのファイルはオペレーティングシステム上のファイルではなく、メモリに格納されているファイルである可能性がありますが、定義は変わりません.例:Mysqlデータベースはバックグラウンドスレッドと共有メモリ領域で構成されています.共有メモリは、実行中のバックグラウンドスレッドによって共有できます.データベースこそ、データベースファイルを実際に操作するものであることを覚えておいてください.
Mysqlプロセス:mysqlは、プロセスマルチスレッドアーキテクチャのデータベースとして設計されています.linuxシステムでは、プロセスの作成に必要な費用は、スレッドの作成よりもはるかに大きいです.プロセスの作成には、プロセス全体のすべてのデータをコピーする必要がありますが、ファイル記述子などの新しいスレッドのデータは共有されます.mysqlはlinuxシステムに1つのプロセスしかありません.psコマンドで確認できます.
ps -ef | grep mysqld

プロファイル:Mysqlが起動すると、プロファイルに移動し、プロファイルのパラメータに基づいてデータベースを起動します.Mysqlには一連のプロファイルがあり、一定の順序で順次読み取ります.後に読み込んだ構成は、前と同じ構成を上書きします.次のコマンドで確認できます.
mysql --help | grep my.cnf

データファイル:プロファイルにデータが存在するパラメータがあり、具体的なパラメータはdatadirと呼ばれます.linuxではデフォルトは/usr/local/mysql/dataです.このパラメータは変更できますが、デフォルトはリンクです.次のコマンド検証を使用してmysqlコマンドラインでbashコマンドを使用し、コマンドの前にsystemキーを付けることで実現できます.
SHOW VARIABLES LIKE 'datadir'\G;

その他http://dev.mysql.com/doc/