web-dev-qa-db-ja.com

自作mysqlインストールの場合、my.cnfはどこにありますか?

自作mysqlインストールの場合、my.cnfはどこにありますか?インストールしますか?

275
chrismealy

デフォルトでは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を起動したときに読み込む他のファイルを指定したりするためのオプションもあります。

243
Jericon

自作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にコピーするようにコマンドを変更しました。

MySQLではなくMariaDBを使用している場合は、以下を使用してください。

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

見つけるための一つの方法:

Sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf
26
John Bachir

/ etc/my.cnfファイルの設定を上書きできませんでした。ジョンが提案したように私は捜した https://stackoverflow.com/a/7974114/717251

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

に別のmy.cnfが見つかりました。

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

このファイルを変更することは私のために働いた!起動エージェントを再起動することを忘れないでください。

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

更新:

ごく最近のhomebrewをインストールしたのなら、mysqlを再起動するのにbrew servicesコマンドを使うべきです(インストールされたhomebrew mysqlバージョン、すなわちmysqlまたは[email protected]を使ってください):

brew services stop mysql
brew services start mysql
16
naabster

私のシステムでは

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

テンプレートとして

nano /usr/local/etc/my.cnf

働くように。

10
Fusca Software

シェルで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
10
Luis Lasser

mysql --helpはファイルのリストを表示するので、それらのうちどれが存在するかを見るために結果をlsにパイプ処理することが有用であると思います。

$ mysql --help | grep /my.cnf | xargs ls
ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf

私の(自作インストール)MySQL 5.7では、ファイルは/usr/local/etc/my.cnfにあります。

7
Emil Stenström

答えはノーだと思います。 〜/ .my.cnfまたは/ usr/local/etcにインストールするのが望ましい解決方法のようです。

4
chrismealy

my.cnfファイルが特定のパッケージによって提供されている場所を見つけることができます。

brew list mysql # or: mariadb

そのファイルが読み取られたかどうかを確認することに加えて、実行することができます。

Sudo fs_usage | grep my.cnf

そのファイルに関連してファイルシステムの活動をリアルタイムで表示します。

4
kenorb

Homebrewの場合、mysqlはCellarディレクトリでmy.cnfも検索します。次に例を示します。

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

そのためには、設定をバイナリに近づけておくことを好みます - もし見つからなければここにmy.cnfを作成してください。

変更後にmysqlを再起動します。

brew services restart mysql
1
Andrey

MacOS(High Sierra)では、自作でインストールしたMySQL。

Mysql環境からグローバル変数を増やすことは成功しませんでした。したがってその場合、〜/ .my.cnfを作成するのが最も安全な方法です。 [mysqld]を使用して変数を追加すると、変更が含まれます(注:[mysql]を使用して変更した場合、変更は機能しない可能性があります)。

<〜/ .my.cnf> [mysqld] connect_timeout = 43200 max_allowed_pa​​cket = 2048 M net_buffer_length = 512 M

Mysqlサーバーを再起動します。そして変数をチェックしてください。よ

sql> SELECT @@ max_allowed_pa​​cket; + ---------------------- + | @@ max_allowed_pa​​cket | + ---------------------- + | 1073741824 | + ---------------------- +

1行セット(0.00秒)

0
lyxProtein