web-dev-qa-db-ja.com

/etc/mysql/my.cnfが空であるのはなぜですか?

my.cnfファイルを編集してリモートアクセスを許可し、最終的にWindows Serverのソフトウェアを使用してMySQL Serverのスケジュールされたバックアップを構成しようとしています。

これらの指示 に従っていました。ただし、私のUbuntuの/etc/mysql/my.cnfファイルには次のものしかありません。

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

編集可能な構成は含まれていません。なぜそうなのですか?

14
Mercedez

まず、A.B。正しく指摘すると、ファイルは空ではありません。それは、2つのかなり重要なディレクティブ、すなわち

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

これらの行は追加構成ファイル(この場合は.cnf)がリストされているディレクトリにあると言っています:

/etc/mysql/conf.d/
/etc/mysql/mysql.conf.d/

2つのディレクトリの後者には、mysqld.cnfが含まれている必要があります。つまり、適切な構成ファイルは次のようになります。

/etc/mysql/mysql.conf.d/mysqld.cnf
27
Techedemic

ファイルは空ではありません。これには、コメント(先頭に#が付いた行)とインポートステートメント-先頭に!が付いた行が含まれます。 importステートメントは、他の構成も使用されることを意味します。

構成ファイルを編集すると、新しい構成行を追加することも意味します。

5
A.B.

私のファイルは同じです。挿入しようとしているコマンドの上に正しいグループを追加する必要があります。そうしないと、サービスが開始されません。

bind-addressを追加するには、その上に[mysqld]を追加する必要があります。

他のコマンド用のグループを確認する必要がある場合は、my.cnf file here の例があります。

リモート接続を有効にする場合 すべてのインターフェイスから (つまり0.0.0.0)、ファイルは次のようになりますが、ファイアウォールを正しく設定していることを確認してください。

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

[mysqld]    
bind-address = 0.0.0.0

[mysqld]グループに注意してください。

2
Rob

その場合、そのファイルはメインではなく、bind-adress、binlogなどに関するすべての情報が含まれます。しかし、それらが含まれる別のファイルがあります。これを試して:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

それは私を助け、あなたを助けるはずです。

1
Guu Mee

Ubuntu 16.04/MySQL 5.7では、少なくともmy.cnfは実際には空です。これは、他の回答で言及されている/etc/mysql/mysql.conf.dのmysql.cnfに戻るシンボリックリンクである別のファイルへのシンボリックリンクだからです。上記のようにここで変更を行います。

1
Gavin