MySQLへのリモートアクセスを有効にするために、 このチュートリアル に沿って進めています。問題は、my.cnf
ファイルはどこにあるべきかということです。私はMac OS X Lionを使っています。
MySQLフォーラムのこのスレッド は、次のように述べています。
デフォルトでは、OS Xのインストールではmy.cnfは使用されず、MySQLはデフォルト値を使用するだけです。あなた自身のmy.cnfを設定するために、あなたはまっすぐに/etc.にファイルを作成することができます
OS Xの/usr/local/mysql/support-files/
に設定ファイルの例があります。
あなたがそれらを見つけることができないなら、MySQLWorkbenchはあなたによってあなたのためにそれらを作成することができます:
Mac OS X Maverickの場合、MySQLをHomebrew経由でインストールすると、/usr/local/opt/mysql/my.cnf
にあります。
一般に、UnixおよびUnix系システムでは、MySQL/MariaDBプログラムは次の場所にあるconfig/startupファイルを(指定された順序で)読み取ります。
/etc/my.cnf
- グローバル/etc/mysql/my.cnf
- グローバルSYSCONFDIR/my.cnf
- グローバル
SYSCONFDIR
は、MySQLが構築されたときにSYSCONFDIR
にCMake
オプションで指定されたディレクトリを表します。デフォルトでは、これはコンパイル済みインストールディレクトリの下にある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ではそれをチェックする簡単な方法があります。
実行します:Sudo fs_usage | grep my.cnf
これにより、そのファイルに関連するファイルシステムのアクティビティがリアルタイムで報告されます。
別の端末で、MySQL/MariaDBを再起動します。
brew services restart mysql
または
brew services restart mariadb
fs_usage
を持つ端末では、適切な場所が表示されます。
15:52:22 access /usr/local/Cellar/mariadb/10.1.14/my.cnf 0.000002 sh
そのため、ファイルが存在しない場合は作成してください。
どのバージョンのMySQLを使用しているかわかりませんが、バージョン5.5のmy.cnfファイルの場所は次のとおりです( から取得) Mac OS Xの場合)
/etc/my.cnf
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf
$MYSQL_HOME/my.cnf
defaults-extra-file
(存在する場合、--defaults-extra-file=path
で指定されたファイル)~/.my.cnf
Mac OS X El Capitan上のMySQL 5.7の場合:/usr/local/mysql/etc/my.cnf
/usr/local/mysql/support-files/my-default.cnf
からデフォルトのconfをコピーする
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を再起動してください。ハッピーコーディング
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
にあります
あなたのバージョンに合わせてあなたのパスを修正してください。
Homebrewからインストールしたmysql 5.6.22では、my.cnfのパスは次のとおりです。
/usr/local/opt/mysql/my.cnf
端末を開いてlocate my.cnf
と入力することができます
それで、これらのことのどれも私のために働きませんでした。私は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>
あなたはファイルをチェックすることができます
/usr/local/bin/mysql.server
とmy.conf
がどこから読み込まれているかを確認します。
通常は/etc/my.cnf
または~/my.cnf
または~/.my.cnf
からです。
macOsシエラ10.12.6 mysqlのバージョン:5.7.18_1私は実行my.cnfを見つけ、パスは
/usr/local/etc/my.cnf
お役に立てば幸いです。
MAMP 3.5 Mac El Capitanの場合は、別の空の設定ファイルを作成してmysqlの追加設定を書き込みます。
Sudo vim /Applications/MAMP/Library/my.cnf
そしてこのように追加
[mysqld]
max_allowed_packet = 256M
ターミナルを開き、以下のコマンドを使用してください。
Sudo find / -name my.cnf
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
私はmacOS Sierraをチェックインし、自作のインストールされたMySql 5.7.12
サポートファイルは次の場所にあります。
/usr/local/opt/mysql/support-files
my-default.cnf
を/etc/my.cnf
または/etc/mysql/my.cnf
としてコピーするだけで、再起動時に設定が反映されます。
私はmacOS High Sierraバージョン10.13.3でmysqlバージョン5.7.17を使用しています、そしてここでmysql設定ファイルを見つけました。
cd /usr/local/mysql/support-files/my-default.cnf
使用しているバージョンのMySQLドキュメントが役立ちます。通常、Options File
またはMySQL Config File
として記述されます。
ドキュメントには、これらのファイルの場所がドキュメント内にあり、その他のVITAL
情報(構成ファイルがどのように見える必要があるかの場所や小さな例など)があります。
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
拡張子を持つファイルをチェックします。
構成ファイルまたはログファイルの場所を見つける方法の例など:
設定ファイルは表示されませんが、インストールファイル/フォルダーを見つけるのに役立ちます。
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が必要な場合:
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)
あなたがそれを見つけることができない場合、それは通常Mac上で/usr/local/etc
の下にあるはずです
シエラバージョンで私のために
次の場所にデフォルト設定をコピーします。
/usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf
に
/usr/local/Cellar/mysql/5.6.27/my.cnf
/usr/local/opt/mysql/support-files/my-default.cnfを/etc/my.cnfまたは/etc/mysql/my.cnfとしてコピーしてから、mysqlを再起動します。
私の場合、ファイルは存在しませんでした。 MySQL Workbenchで私はOPTIONS FILEに行き、いくつかのデフォルト値を見つけました。適用をクリックしました。許可を求めました。その後、/ etcの下にmy.cnfファイルを作成しました。ただし、最初に「適用」をクリックしたときには、デフォルト設定を変更しないでください。ファイルが作成されたら、[適用]をクリックしたときに適用される変更を加えることができます。それ以外の場合は、変更を加えても適用ボタンが表示されません。
Macの場合、私にとってうまくいったのは、〜パスに.my.cnfファイルを作成することです。お役に立てれば。
rデフォルトのオプションは、次のファイルから与えられた順序で読み込まれます。/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf〜/ .my.cnf
MySQL 5.7.18以降では、support-filesディレクトリにデフォルトの設定ファイルはありません。そのため、/ etc/mysql/my.cnfのように、MySQLが読み取る場所にmy.cnfファイルを手動で作成し、設定を追加できます。ファイルに追加したい。