2011-11-01 11 views

答えて

176

デフォルトではmy.cnfはありません。そのため、MySQLはすべてのデフォルト設定で起動します。独自のmy.cnfを作成してデフォルトを上書きする場合は、/ etc/my.cnfに置きます。

また、mysql --helpを実行して、表示されているconfの場所を調べることができます。

Default options are read from the following files in the given order: 
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
The following groups are read: mysql client 
The following options may be given as the first argument: 
--print-defaults  Print the program argument list and exit. 
--no-defaults   Don't read default options from any option file. 
--defaults-file=#  Only read default options from the given file #. 
--defaults-extra-file=# Read this file after the global files are read. 

あなたが見ることができるように、confにファイルをバイパスするか、コマンドラインでのMySQLの起動時に読み取るために他のファイルを指定するためのいくつかのオプションもあります。

+40

これはもはやそうではないようです。 /usr/local/Cellar/mysql/5.6.15/(またはあなたがインストールしたバージョン)のmy.cnfファイルが表示されます –

+4

@williamt "mysql --help"は使用中のファイルをリストしていませんインストールファイルに付属しているデフォルトです。 –

+1

@williamt私はViniciusが正しいと思います。私は/usr/local/Cellar/mysql/5.6.20_1/my.cnfを見ていますが、log-binを追加してmysqldを再起動しても、まだバイナリログが有効になっていませんでした。 my.cnfを/etc/my.cnfにコピーしてバイナリログを有効にするまではありませんでした。おそらく、最初のインストール時にmy.cnfファイルが使用されている可能性があります。 – Mark

17

一つの方法:

sudo /usr/libexec/locate.updatedb 
# wait a few minutes for it to finish 
locate my.cnf 
+1

恐ろしい答え、私はlocate.updatedbについて学んだ。しかし、デフォルトで設定ファイルはありません。以下の答えを参照してください。 – glebm

+9

OSX – JacopKane

+0

で 'locate'コマンドの代わりに' mdfind -name my.cnf'を使用できます。私にとって 'locate my.cnf'は直接動作しました。私は 'sudo/usr/libexec/locate.updatedb'を実行しませんでした – Andru

4

私は答えはノーであると信じています。 〜/ .my.cnfまたは/ usr/local/etcにインストールする方が望ましい解決策です。

+2

私のMBPで/etc/my.cnfだけが私のhomebrewのmysqlインストールに影響します。 – ewalshe

257

homebrew mysqlには、インストールのsupport-filesフォルダにサンプルの設定ファイルが含まれています。デフォルト設定を変更する必要がある場合

ls $(brew --prefix mysql)/support-files/my-* 

あなたは出発点として、これらのいずれかを使用することができます。

cp $(brew --prefix mysql)/support-files/my-default.cnf /usr/local/etc/my.cnf 

@rednawが指摘するように、自作は、MySQLのインストールは、最も可能性の高い/usr/localになりますので、my.cnfのファイルには、システム/etcフォルダに追加すべきではないので、私はコピーするコマンドを変更しましたファイルを/usr/local/etcに保存します。

あなたはMariaDBを使用しているのではなく、MySQLは以下を使用している場合:

cp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf 
+1

これは今では "my-default.cnf"ですが、まだまだ有効です – Ashley

+4

'sudo cp $(brew --prefix mysql)/ support- files/my-default.cnf/etc/my.cnf' – mattclegg

+6

Homebrewが '/ usr/local /'にMySQLをインストールした場合(私が思うのはこれがデフォルトです)、 'my.conf'を'/usr/local/etc/'であり、root権限を必要としません。 – rednaw

8

あなたのシェル型my_print_defaults --help

で結果の下部には、あなたがそこからファイルを見ることができるはずですサーバーは構成を読み取ります。それはこのようなものを出力します。

Default options are read from the following files in the given order: 
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 
12

何が本当に私を助けていない - 私はな/etc/my.cnfファイルの設定を上書きすることができませんでした。 ジョンはそれは、このファイルを変更する

/usr/local/Cellar/mysql/5.6.21/my.cnf 

内の別のmy.cnfが私のために働いたhttps://stackoverflow.com/a/7974114/717251

sudo /usr/libexec/locate.updatedb 
# wait a few minutes for it to finish 
locate my.cnf 

を示唆したようにだから私は検索!

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 
3
my.cnfファイルは、特定のパッケージで提供されてきたあなたは見つけることができます

、例えば:打ち上げエージェントを再起動することを忘れないでくださいそのファイルが読み込まれている場合に加えて

brew list mysql # or: mariadb 

あなたが実行することができ、検証する:そのファイルに関連するリアルタイムであなたのファイルシステムアクティビティが表示されます

sudo fs_usage | grep my.cnf 

を。私のシステムで

1

それはテンプレートや作業など

nano /usr/local/etc/my.cnf 

として

nano /usr/local/etc/my.cnf.default 

ました。

関連する問題