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


10

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

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

[mysqld]

#charset
collation_server=utf8_general_ci
character_set_server=utf8
default_character_set=utf8

使用しているディストリビューションの詳細が参考になります。
Tim

debian / * buntu / rhel / centがパッケージのインストールから/ usr / localを使用しないことを確認してください。これは、slackまたはfreebsdのように聞こえます。
Tim

回答:


20

あたりとして、この記事

このコマンドをコマンドライン/ターミナルから実行すると、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がそれを使用することを確認できます。


3

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

いくつかのmy.cnfファイルがある場合、すべての可能性が高い(例えばで見て/etc/etc/mysql/opt/mysql/etc、など)、あなたは実行することができますstraceMySQLのバイナリ試みはその設定ファイルを検索する場所を確認するために、私はそれはやり過ぎだと思います。


取得しました-bash: locate: command not found...試しfind / my.cnfましたが何も見つかりません。
Webnet、2012年

これは、my.cnfファイルが作成されてから、locatedbが更新されていることを前提としています。通常、これはcronを介して毎日行われます。手動で更新する必要がある場合は、ルートとして「updatedb」を実行します
ckliborn

locate: command not foundupdatedbの問題ではありません。彼にはパッケージがありません。
Tim

「slocate」パッケージをインストールします。
TheCompWiz 2012年

2

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

データベースがインストールされている場合は/usr/local/mysql、その後で探してみてください/etc/localについてmy.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「パフォーマンススキーマシステムおよびステータス変数テーブルへの移行」を参照してください。


-bash: updatedb: command not found
Webnet、2012年

私の答えを更新しました。もう一度お試しください!!!
RolandoMySQLDBA 2012年

/usr/bin/which: no updatedb in (/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin:/usr/local/apache2/bin:/usr/local/firefox:/usr/local/mysql/bin:/usr/games:/usr/local/fetter/bin)
Webnet

1

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

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

find / -name my.cnf -print

私はそれをインストールしませんでした、それは数年前のマシンにあります。オンですLinux mars 2.6.5-7.147-bigsmp #1 SMP Thu Jan 27 09:19:29 UTC 2005 i686 i686 i386 GNU/Linux
Webnet 2012年

1

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


1

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

から

mysqld --verbose --help

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


1

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

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

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


0

それを実行できるように、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に置き換えてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.