2011-11-30 6 views
0

私はLinux上にありますubuntuマシンがインストールされています。"chown mysql:mysql/data/tmp"コマンド

のUbuntuマシン上のMySQLインストールがあれば、私は次のようなことやって何人かの人々を見た:

sudo chown mysql:mysql /data/tmp 

は私がある、私は上記のコマンドの意味を知って、混乱してしまいます/data/tmpの所有者をユーザー 'mysql'に変更し、そのグループを 'mysql'グループに変更します。

しかし、(私の質問):

1.なぜ1は、上記のコマンドを実行しますか?私はmy_dbデータベースにテーブルを作成する場合、デフォルトでは、.frm.MYD、そして.MYIファイル(データファイル)/var/lib/mysql/my_db/自動的によってMySQLのを作成することがあるでしょう。したがって、上記のコマンドは、/var/lib/mysql/my_db/ではなく、デフォルトのMySQLデータディレクトリを/data/tmp/に変更しますか?

基本的に、私は上記のコマンドの目的と効果を知りたいと思います。(より良い例で)

2.「mysql」の所有者とグループはどこから来たのですか? LinuxマシンにMySQLをインストールすると自動的に 'mysql'ユーザとグループが作成されますか?または人々は手動でmysqlアカウントを作成する必要がありますか?

+0

StackOverflowはプログラミングの質問です。サーバーに関する今後の質問をhttp://serverfault.com/ – Polynomial

答えて

2

MySQLは、そのディレクトリ内にファイルを作成/削除するため、独自のディレクトリを所有する必要があります。 dirが他のユーザIDによって所有されている場合、mysqlは必要なファイル操作を行うことができないため失敗する可能性があります。ディレクトリの所有権を持っていれば、それはcarte-blancheです。

mysqlユーザーは任意の選択です。代わりに簡単に「フレッド」することができます。しかし、ほとんどの人はそれが当然の選択であるため、mysqlを使用します。ディストリビューションのプリコンパイル版をインストールしている場合は、一般にパッケージインストーラによって作成されます。

+0

"MySQLのファイルとディレクトリ"とは何ですか?それは.frm、.MYD、.MYIのようなMySQLデータベースファイルを指していますか?そうでない場合は、デフォルトでは、あなたが言及した一時ファイルは何ですか? – Mellon

+0

mysqlはまた、メモリに収まらない大きな結果セットをバッファリングするための一時ファイルを作成します。巨大なデータをソートしているときです。 .frm/.myd/etc ..ファイルだけではありません。 –

+0

しかし私はまた尋ねていますデフォルトでそれらの一時ファイルはどこですか?たとえば、これらの.frm、.MYD、および.MYIファイルは、デフォルトでは/ var/lib/mysql/my_db /にあります。あなたが言及したファイルはどこにありますか?通常は一時ファイルの形式は何ですか? .datファイル?? – Mellon

2

MistディストリビューションのMySQLパッケージは、mysqlユーザ(およびグループ)が存在することを保証します。次に、MySQLを設定して一時ファイルを/data/tmpに保存する場合、そのファイルをmysql:mysqlに所有させたいと思うでしょう。これは、MySQLが一時テーブルの使用を必要とするときに使用されます(他のいくつかのケースの中で)。

+0

に投稿してください。しかし、一時ファイルは何を指していますか?それは.frm、.MYD、.MYIのようなMySQLデータベースファイルを指していますか?そうでない場合は、デフォルトでは、あなたが言及した一時ファイルは何ですか? – Mellon

+0

これは、* temporary *テーブルを参照します。そのため、MySQLが一時テーブルとして使用するエンジンに応じて、.frm/.myiや何か他のものになる可能性があります。私はデフォルトの場所が何であるかわからないので、バイナリパッケージからインストールする場合は、配布に依存する可能性があります。 – Romain