web-dev-qa-db-ja.com

macOS上のmy.cnfファイルの場所

MySQLへのリモートアクセスを有効にするために、 このチュートリアル に沿って進めています。問題は、my.cnfファイルはどこにあるべきかということです。私はMac OS X Lionを使っています。

157
nicolas

MySQLフォーラムのこのスレッド は、次のように述べています。

デフォルトでは、OS Xのインストールではmy.cnfは使用されず、MySQLはデフォルト値を使用するだけです。あなた自身のmy.cnfを設定するために、あなたはまっすぐに/etc.にファイルを作成することができます

OS Xの/usr/local/mysql/support-files/に設定ファイルの例があります。

あなたがそれらを見つけることができないなら、MySQLWorkbenchはあなたによってあなたのためにそれらを作成することができます:

  1. 接続を開く
  2. メニューの[INSTANCE]の下の[Options File]を選択します。
  3. MySQLWorkbenchはmy.cnfを検索し、見つからない場合は作成します。
231
bfavaretto

Mac OS X Maverickの場合、MySQLをHomebrew経由でインストールすると、/usr/local/opt/mysql/my.cnfにあります。

70
Eigengrau

一般に、UnixおよびUnix系システムでは、MySQL/MariaDBプログラムは次の場所にあるconfig/startupファイルを(指定された順序で)読み取ります。

  • /etc/my.cnf - グローバル
  • /etc/mysql/my.cnf - グローバル
  • SYSCONFDIR/my.cnf - グローバル

    SYSCONFDIRは、MySQLが構築されたときにSYSCONFDIRCMakeオプションで指定されたディレクトリを表します。デフォルトでは、これはコンパイル済みインストールディレクトリの下にあるetcディレクトリです。

  • $MYSQL_HOME/my.cnf - サーバー固有(サーバーのみ)

    MYSQL_HOMEは、サーバー固有のmy.cnfファイルが存在するディレクトリへのパスを含む環境変数です。 MYSQL_HOMEが設定されておらず、mysqld_safeプログラムを使用してサーバーを起動した場合、mysqld_safeはそれをMySQLベースインストールディレクトリのBASEDIRに設定します。

  • もしあれば--defaults-extra-file=pathで指定されたファイル

  • ~/.my.cnf - ユーザー固有
  • ~/.mylogin.cnf - ユーザー固有(クライアントのみ)

出典: オプションファイルを使う

注:Unixプラットフォームでは、MySQLは、世界的に書き込み可能な設定ファイルを無視します。これはセキュリティ対策として意図的なものです。


さらにMacではそれをチェックする簡単な方法があります。

  1. 実行します:Sudo fs_usage | grep my.cnf

    これにより、そのファイルに関連するファイルシステムのアクティビティがリアルタイムで報告されます。

  2. 別の端末で、MySQL/MariaDBを再起動します。

    brew services restart mysql
    

    または

    brew services restart mariadb
    
  3. fs_usageを持つ端末では、適切な場所が表示されます。

    15:52:22  access            /usr/local/Cellar/mariadb/10.1.14/my.cnf                                         0.000002   sh          
    

    そのため、ファイルが存在しない場合は作成してください。

46
kenorb

どのバージョンのMySQLを使用しているかわかりませんが、バージョン5.5のmy.cnfファイルの場所は次のとおりです( から取得) Mac OS Xの場合)

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file(存在する場合、--defaults-extra-file=pathで指定されたファイル)
  6. ~/.my.cnf
30
Jeffrey Chung

Mac OS X El Capitan上のMySQL 5.7の場合:/usr/local/mysql/etc/my.cnf

/usr/local/mysql/support-files/my-default.cnfからデフォルトのconfをコピーする

19

MacOS Sierraを使用していてファイルが存在しない場合は、次のコマンドを実行してください。

mysql --help or mysql --help | grep my.cnf

mysql用のmy.cnfの可能な場所と読み込み/読み込みシーケンスを確認するには、推奨ディレクトリの1つにmy.cnfファイルを作成し、次の行を追加します。

[mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Sudo touch /{preferred-path}/my.cnfしてからファイルを編集してSQLモードを追加できます。

Sudo nano /{preferred-path}/my.cnf

それからmysqlを再起動してください。ハッピーコーディング

14
Gpak

Mac OS X Mavericks用の 現在のMySQLパッケージ (この記事の執筆時点ではmysql-5.6.17-osx10.7-x86_64)は自動的にmyを作成します。インストール中に.cnf。

これは/usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnfにあります
あなたのバージョンに合わせてあなたのパスを修正してください。

12
Jpsy

Homebrewからインストールしたmysql 5.6.22では、my.cnfのパスは次のとおりです。

/usr/local/opt/mysql/my.cnf 
10
StevenR

端末を開いてlocate my.cnfと入力することができます

9
sreimer

それで、これらのことのどれも私のために働きませんでした。私はmysqlコミュニティサーバーの現在のdmgインストールを使用しています。 psは、my.cnfで通常最も重要なパラメータはすべてコマンドラインで渡されることを示しています。それがどこから来ているのかわかりませんでした。私の箱の全文検索をした後、私はそれを見つけました:

/Library/LaunchDaemons/com.Oracle.oss.mysql.mysqld.plist

それで、あなたはそれらをそこに変更するか、あなたがそれを置くことに決めたところはどこでもあなたのmy.cnfにあるものを実際に尊重するようにそれらを取り出すことができる。

楽しい!

そのファイルにあるファイル情報の例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.Oracle.oss.mysql.mysqld</string>
    <key>ProcessType</key>       <string>Interactive</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>SessionCreate</key>     <true/>
    <key>LaunchOnlyOnce</key>    <false/>
    <key>UserName</key>          <string>_mysql</string>
    <key>GroupName</key>         <string>_mysql</string>
    <key>ExitTimeOut</key>       <integer>600</integer>
    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>
    <key>ProgramArguments</key>
        <array>
            <string>/usr/local/mysql/bin/mysqld</string>
            <string>--user=_mysql</string>
            <string>--basedir=/usr/local/mysql</string>
            <string>--datadir=/usr/local/mysql/data</string>
            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
             <string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
             <string>--early-plugin-load=keyring_file=keyring_file.so</string>

        </array>
    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>
9
Datbates

あなたはファイルをチェックすることができます

/usr/local/bin/mysql.servermy.confがどこから読み込まれているかを確認します。

通常は/etc/my.cnfまたは~/my.cnfまたは~/.my.cnfからです。

6
Vazgen Manukyan

macOsシエラ10.12.6 mysqlのバージョン:5.7.18_1私は実行my.cnfを見つけ、パスは

/usr/local/etc/my.cnf

お役に立てば幸いです。

6
aginanjar

あなたが望む任意のディレクトリの下にあなたのファイルを作成することができます。作成後、mysql configへのパスを「伝える」ことができます。

enter image description here

5
Shedom Wei

MAMP 3.5 Mac El Capitanの場合は、別の空の設定ファイルを作成してmysqlの追加設定を書き込みます。

Sudo vim /Applications/MAMP/Library/my.cnf

そしてこのように追加

[mysqld]
max_allowed_packet = 256M
4
Mirza Vu

ターミナルを開き、以下のコマンドを使用してください。

Sudo find / -name my.cnf
4
user33670

macOS High Sierraバージョン10.13.6

editLineラッパーを使用したosx10.13(x86_64)用のmysql Ver 14.14 Distrib 5.7.22、Oracleおよびその関連会社。全著作権所有

デフォルトのオプションは、以下のファイルから与えられた順序で読み込まれます。

/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/etc/my.cnf 
~/.my.cnf
2
Ayoub Palangi

私はmacOS Sierraをチェックインし、自作のインストールされたMySql 5.7.12

サポートファイルは次の場所にあります。

/usr/local/opt/mysql/support-files

my-default.cnf/etc/my.cnfまたは/etc/mysql/my.cnfとしてコピーするだけで、再起動時に設定が反映されます。

2

私はmacOS High Sierraバージョン10.13.3でmysqlバージョン5.7.17を使用しています、そしてここでmysql設定ファイルを見つけました。

cd /usr/local/mysql/support-files/my-default.cnf
1
Reaz Murshed

ドキュメントを読む!

使用しているバージョンのMySQLドキュメントが役立ちます。通常、Options FileまたはMySQL Config Fileとして記述されます。
ドキュメントには、これらのファイルの場所がドキュメント内にあり、その他のVITAL情報(構成ファイルがどのように見える必要があるかの場所や小さな例など)があります。

MySQLバージョン8

MySQLバージョン5.7

MySQLバージョン5.6

MySQLバージョン5.5

MySQLバージョン5.6日本語

重要な注意事項:

Unixプラットフォームでは、MySQLは誰でも書き込み可能な構成ファイルを無視します。

これは、セキュリティ対策として意図的なものです。

言い換えると、設定ファイルに間違ったパーミッションが設定されている場合、ロードされません。

構成ファイルの1つの初期セットアップ許可の例:

RIZZOMBP$ ls -lah /etc/my.cnf
-rw-r--r--  1 myusername  wheel     0B Feb 25 20:40 /etc/my.cnf

注意:

オプションファイルで!includeディレクティブを使用して他のオプションファイルを含めたり、!includedirを使用して特定のディレクトリでオプションファイルを検索したりできます。

...MySQLは、ディレクトリ内のオプションファイルが読み取られる順序を保証しません...

Unixオペレーティングシステムで!includedirディレクティブを使用して検索およびインクルードするファイルには、.cnfで終わるファイル名が必要です。 Windowsでは、このディレクティブは.iniまたは.cnf拡張子を持つファイルをチェックします。

構成ファイルまたはログファイルの場所を見つける方法の例など:

SQL

設定ファイルは表示されませんが、インストールファイル/フォルダーを見つけるのに役立ちます。

MySQLバージョン5.7および8+

SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

MySQLバージョン<= 5.6

SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

シェル/ターミナル

RIZZOMBP$ mysql --help | grep "Default options" -A 1

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

上記のコマンドクレジット: Erwin Mayer ServerFaultから

RIZZOMBP$ mysqld --verbose --help | grep '/my.cnf' -B 1

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

OR

RIZZOMBP$ ps aux | grep -i mysqld | grep -v $USER

_mysql 106 0.4 2.5 4232336 422112 ?? Ss 7:01PM 0:57.12
/usr/local/mysql/bin/mysqld
--user=_mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--plugin-dir=/usr/local/mysql/lib/plugin
--log-error=/usr/local/mysql/data/mysqld.local.err
--pid-file=/usr/local/mysql/data/mysqld.local.pid
--keyring-file-data=/usr/local/mysql/keyring/keyring
--early-plugin-load=keyring_file=keyring_file.so

サンプルファイル

詳細な参照サンプルmy.cnfが必要な場合:

  1. https://Gist.github.com/search?utf8=%E2%9C%93&q=my.cnf+mysql&ref=searchresults
  2. https://www.linode.com/community/questions/5749/mysql-sample-config-files
  3. https://www.fromdual.com/mysql-configuration-file-sample

URLへの所属/関連付けはありません

私のシステム:

RIZZOMBP$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.3
BuildVersion:   18D109
RIZZOMBP$ mysql -V
mysql  Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
RIZZOMBP$ mysqld -V
/usr/local/mysql-8.0.15-macos10.14-x86_64/bin/mysqld 
Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
1
JayRizzo

あなたがそれを見つけることができない場合、それは通常Mac上で/usr/local/etcの下にあるはずです

1
Pravin

シエラバージョンで私のために

次の場所にデフォルト設定をコピーします。

/usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf

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

0
iamroald

/usr/local/opt/mysql/support-files/my-default.cnfを/etc/my.cnfまたは/etc/mysql/my.cnfとしてコピーしてから、mysqlを再起動します。

0

私の場合、ファイルは存在しませんでした。 MySQL Workbenchで私はOPTIONS FILEに行き、いくつかのデフォルト値を見つけました。適用をクリックしました。許可を求めました。その後、/ etcの下にmy.cnfファイルを作成しました。ただし、最初に「適用」をクリックしたときには、デフォルト設定を変更しないでください。ファイルが作成されたら、[適用]をクリックしたときに適用される変更を加えることができます。それ以外の場合は、変更を加えても適用ボタンが表示されません。

0
Sameer Khanal

Macの場合、私にとってうまくいったのは、〜パスに.my.cnfファイルを作成することです。お役に立てれば。

0
Raman Singh

rデフォルトのオプションは、次のファイルから与えられた順序で読み込まれます。/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf〜/ .my.cnf

0
Mayank Raipure

MySQL 5.7.18以降では、support-filesディレクトリにデフォルトの設定ファイルはありません。そのため、/ etc/mysql/my.cnfのように、MySQLが読み取る場所にmy.cnfファイルを手動で作成し、設定を追加できます。ファイルに追加したい。

0
Eawaun