216

このチュートリアルに従って、MySQL へのリモート アクセスを有効にしようとしています。問題は、my.cnfファイルをどこに置くべきかということです。Mac OS X Lion を使用しています。

4

31 に答える 31

262

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 を検索し、見つからない場合は作成します
于 2012-05-25T15:32:44.327 に答える
72

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

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

    SYSCONFDIRMySQL のビルド時にSYSCONFDIRオプションで指定されたディレクトリを表します。CMakeデフォルトでは、これはコンパイル済みインストール ディレクトリの下にある etc ディレクトリです。

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

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

  • --defaults-extra-file=pathif anyで指定されたファイル

  • ~/.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          
    

    したがって、ファイルが存在しない場合は作成します。

于 2016-06-09T14:57:29.040 に答える
34

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

  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
于 2012-05-25T15:35:37.477 に答える
15

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
バージョンに応じてパスを調整します。

于 2014-05-20T09:08:09.727 に答える
12

macOS sierra 10.12.6
MySQL バージョン: 5.7.18_1locate my.cnf
を実行すると、パスは次のようになります。

/usr/local/etc/my.cnf

于 2018-08-07T15:55:50.707 に答える
12

したがって、これらのことはどれも私にとってはうまくいきませんでした。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>
于 2015-08-28T19:05:56.443 に答える
11

ターミナルを開いて入力できますlocate my.cnf

于 2012-05-25T15:31:40.133 に答える
11

Homebrew からインストールした mysql 5.6.22 では、my.cnf のパスは

/usr/local/opt/mysql/my.cnf 
于 2015-05-03T07:42:16.627 に答える
9

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

ここに画像の説明を入力

于 2019-01-01T10:18:01.547 に答える
7

ファイルを確認できます

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

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

于 2016-07-25T08:38:31.583 に答える
5

MAMP 3.5 Mac El Capitan の場合、別の空の構成ファイルを作成し、mysql の追加設定を記述します。

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

そして、このように追加します

[mysqld]
max_allowed_packet = 256M
于 2016-10-18T17:55:42.847 に答える
0

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

于 2016-05-26T09:08:17.893 に答える
0

rDefault オプションは、指定された順序で次のファイルから読み取られます。 /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

于 2018-06-05T15:57:11.307 に答える