私はUbuntu 16.04サーバー(VPS)を持っており、そこにMariaDb 10.1をインストールしました(医者の言う通りにやった)。データベースサーバーを設定して、InnoDB が 2~4GB のメモリを使用できるようにしたいのですが、サンプルを探してみましたmy.cnf
が/usr/share/mysql/
、1 つも見つかりませんでした (これらだけ)。サンプル構成はどこにありますか? また、それを実際のものにするにはどうすればよいですか? ディレクトリには/etc/mysql/mysql.conf.d/
が含まれている必要があると読みましたmysqld.cnf
が、私の場合は次のファイルしかありません。
50-client.cnf 50-mysql-clients.cnf 50-mysqld_safe.cnf 50-server.cnf 50-server.cnf.backup
どれがアクティブですか? 私の推測ではどれもアクティブではありません。
特別なことは何も必要ありません。だから、ただ実現しmy-huge.cnf
て終わらせたかったのです。
答え1
これらすべての設定が適用されます。完全なディレクトリ構造は次のとおりです。
$ tree -f /etc/mysql
/etc/mysql
├── /etc/mysql/conf.d
│ ├── /etc/mysql/conf.d/mariadb.cnf
│ └── /etc/mysql/conf.d/mysqld_safe_syslog.cnf
├── /etc/mysql/debian.cnf
├── /etc/mysql/debian-start
├── /etc/mysql/mariadb.conf.d
└── /etc/mysql/my.cnf
すべては /etc/mysql/my.cnf から始まり、次のように終わります。
#
# * 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/
つまり、そのディレクトリ内のすべてのファイルが含まれます。ファイルはアルファベット順に読み取られるため、50-
順序を指定するには などのプレフィックスが使用されます。
Ubuntu が他の多くの構成にも使用しているこのシステムの利点は、パッケージ (およびデフォルトの構成) の更新を、変更や追加と競合することなくインストールできることです。また、変更は行わず、新しいファイルを作成するだけなので、これらのファイルに実際にどのような変更を加えたかを覚えておくのにも役立ちます。