web-dev-qa-db-ja.com

MySQL my.cnfパスはどこにありますか?

MySQLのインストールディレクトリを見つけました:/usr/local/mysql/

サーバーを構成する場所を知るために、my.cnfへのパスはどこにありますか? /etc/my.cnfを作成しようとしましたが(以下に表示)、影響はありませんでした

[mysqld]

#charset
collation_server=utf8_general_ci
character_set_server=utf8
default_character_set=utf8
9
Webnet

この記事 に従って:

このコマンドをコマンドライン/ターミナルから実行すると、MySQLがLinux/BSD/OS Xシステムでmy.cnfファイルを探す場所が表示されます。

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/etc/my.cnf ~/.my.cnf 

上記の出力を/etc/my.cnf、次に/etc/mysql/my.cnfのように使用して、ファイルを確認できます。それらの場所のいずれかに存在しない場合は、作成してMySQLがそれを使用することを確認できます。

18
Erwin Mayer

Linuxシステムでは、「locate my.cnf」が最速のソリューションになります。

いくつかのmy.cnfファイルがある場合、すべてが(たとえば/etc/etc/mysql/opt/mysql/etcなど)、次にstraceを実行して、MySQLバイナリが構成ファイルを見つけようとする場所を確認できますが、それはやり過ぎだと思います。

3
Paweł Brodacki

暗闇の中でワイルドショットをOK:

データベースが/usr/local/mysqlにインストールされている場合は、/etc/localmy.cnfを探してみてください。

my.cnfがあるかどうかを確認する方法は次のとおりです

このクエリを実行(<= 5.6.7)

SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME IN ('wait_timeout',
'innodb_buffer_pool_size','innodb_log_file_size');

または(>= 5.6.8)は、パフォーマンススキーマに移動しました。

SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME IN ('wait_timeout',
'innodb_buffer_pool_size','innodb_log_file_size');
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';
SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';

取得する必要がある場合:

デフォルトで実行しており、my.cnfが存在しない可能性があります。

注意:

MySQL 5.7.6以降では、ここで説明するテーブルから入手できる情報は、パフォーマンススキーマからも入手できます。INFORMATION_SCHEMAテーブルは、パフォーマンススキーマテーブルに優先して非推奨になり、将来のMySQLリリースで削除されます。アドバイスについてはINFORMATION_SCHEMAテーブルからパフォーマンススキーマテーブルへの移行については、セクション25.20「パフォーマンススキーマシステムおよびステータス変数テーブルへの移行」を参照してください。

2
RolandoMySQLDBA

どのようにしてMySQLをどのプラットフォームにインストールしましたか?

Unixoid OSでのブルートフォースメソッド:

find / -name my.cnf -print
1
Sven

strace -fe open /etc/init.d/mysql start 2>&1|grep my.cnfは、ファイルを開くために使用されたシステムコールを示します。

1
Nils

作成したcnfファイルが別のファイルに置き換えられているようです。以下のデフォルトの順序を確認してください。

から

mysqld --verbose --help

デフォルトのオプションは、次のファイルから指定された順序で読み取られます。/etc/my.cnf〜/ .my.cnf /etc/my.cnf

1
ckliborn

あなたのcnfファイルが読み込まれていないことをどのように確信していますか?

変更後、mysqldを再起動しましたか?

新しいデータベースを作成してその値を確認しましたか?

1
ckliborn

それを実行できるように、locate and updatedbをインストールします。

Fedoraを使用すると、centosはrootとして実行されます。

yum install mlocate

ubuntuを実行している場合:

Sudo apt-get install mlocate

インストールが完了したら、updated Fedora(rootとして)を実行します。

$updatedb 

Ubuntu:

Sudo updatedb

次に、上記のようにLocateコマンドを実行できます。ここでも、my.cnfは通常/ etcにあります。 mysqlがインストールされていますか?そうでない場合は、上記のコマンドを実行してインストールし、mlocateをmysqldに置き換えてください。

0
J Baron