244
|
1 # mysql
|
|
2
|
|
3 #### 目次
|
|
4
|
|
5 1. [説明 - モジュールの機能とその有益性](#module-description)
|
|
6 2. [セットアップ - mysql導入の基本](#setup)
|
|
7 * [mysqlの導入](#beginning-with-mysql)
|
|
8 3. [使用方法 - 設定オプションと追加機能](#usage)
|
|
9 * [サーバオプションのカスタマイズ](#customize-server-options)
|
|
10 * [データベースを作成します](#create-a-database)
|
|
11 * [設定のカスタマイズ](#customize-configuration)
|
|
12 * [既存のサーバに対する操作](#work-with-an-existing-server)
|
|
13 * [パスワードの指定](#specify-passwords)
|
|
14 * [CentOSへのPerconaサーバのインストール](#install-percona-server-on-centos)
|
|
15 * [UbuntuへのMariaDBのインストール](#install-mariadb-on-ubuntu)
|
|
16 * [プラグインのインストール](#install-plugins)
|
|
17 4. [参考 - モジュールの機能と動作について](REFERENCE.md)
|
|
18 5. [制約 - OS互換性など](#limitations)
|
|
19 6. [開発 - モジュール貢献についてのガイド](#development)
|
|
20
|
|
21 ## モジュールの概要
|
|
22
|
|
23 mysqlモジュールは、MySQLサービスをインストール、設定、管理します。
|
|
24
|
|
25 このモジュールは、MySQLのインストールと設定を管理するとともに、データベース、ユーザ、GRANT権限などのMySQLリソースを管理できるようにPuppetの機能を拡張します。
|
|
26
|
|
27 ## セットアップ
|
|
28
|
|
29 ### mysqlの導入
|
|
30
|
|
31 デフォルトのオプションを使用してサーバをインストールするには、次のコマンドを使用します。
|
|
32
|
|
33 `include '::mysql::server'`.
|
|
34
|
|
35 ルートパスワードや`/etc/my.cnf`の設定値などのオプションをカスタマイズするには、オーバーライドハッシュも渡す必要があります。
|
|
36
|
|
37 ```puppet
|
|
38 class { '::mysql::server':
|
|
39 root_password => 'strongpassword',
|
|
40 remove_default_accounts => true,
|
|
41 override_options => $override_options
|
|
42 }
|
|
43 ```
|
|
44
|
|
45 $override_options用のハッシュ構造体の例については、後述の[**サーバオプションのカスタマイズ**](#サーバオプションのカスタマイズ)を参照してください。
|
|
46
|
|
47 ## 使用
|
|
48
|
|
49 サーバに関するすべてのインタラクションは`mysql::server`を使用して行われ、クライアントのインストールには`mysql::client`が、バインディングのインストールには`mysql::bindings`が使用されます。
|
|
50
|
|
51 ### サーバオプションのカスタマイズ
|
|
52
|
|
53 サーバオプションを定義するには、`mysql::server`でオーバーライドのハッシュ構造体を作成します。このハッシュは、my.cnfファイルに含まれているハッシュと似ています。
|
|
54
|
|
55 ```puppet
|
|
56 $override_options = {
|
|
57 'section' => {
|
|
58 'item' => 'thing',
|
|
59 }
|
|
60 }
|
|
61 ```
|
|
62
|
|
63 この形式のオプションを従来の方法で示すと次のようになります。
|
|
64
|
|
65 ```
|
|
66 [section]
|
|
67 thing = X
|
|
68 ```
|
|
69
|
|
70 ハッシュ内では`thing => true`、`thing => value`、または`thing => ""`の形でエントリを作成できます。または、`thing => ['value', 'value2']`の形で配列を渡したり、`thing => value`を独立した行に個別にリストすることもできます。
|
|
71
|
|
72 値を設定せずに変数をハッシュに含めて渡すことができます。この場合、変数にはMySQLのデフォルトの設定値が使用されます。オプションを`my.cnf`ファイルから除外するには(たとえば`override_options`を使用してデフォルト値に戻す場合など)、`thing => undef`を渡します。
|
|
73
|
|
74 オプションに複数のインスタンスが必要な場合は配列を渡します。たとえば次の例の場合は、
|
|
75
|
|
76 ```puppet
|
|
77 $override_options = {
|
|
78 'mysqld' => {
|
|
79 'replicate-do-db' => ['base1', 'base2'],
|
|
80 }
|
|
81 }
|
|
82 ```
|
|
83
|
|
84 次のようになります。
|
|
85
|
|
86 ```puppet
|
|
87 [mysqld]
|
|
88 replicate-do-db = base1
|
|
89 replicate-do-db = base2
|
|
90 ```
|
|
91
|
|
92 バージョンに固有なパラメータを実装するには、[mysqld-5.5]のようにバージョンを指定します。こうすると、1つのconfigで複数の異なるバージョンのMySQLに対応できます。
|
|
93
|
|
94 ### データベースを作成します
|
|
95
|
|
96 ユーザおよび割り当てられたいくつかの権限を含むデータベースを作成するには、次のようにします。
|
|
97
|
|
98 ```puppet
|
|
99 mysql::db { 'mydb':
|
|
100 user => 'myuser',
|
|
101 password => 'mypass',
|
|
102 host => 'localhost',
|
|
103 grant => ['SELECT', 'UPDATE'],
|
|
104 }
|
|
105 ```
|
|
106
|
|
107 エクスポートされたリソースを含む別のリソース名を使用するには、次のようにします。
|
|
108
|
|
109 ```puppet
|
|
110 @@mysql::db { "mydb_${fqdn}":
|
|
111 user => 'myuser',
|
|
112 password => 'mypass',
|
|
113 dbname => 'mydb',
|
|
114 host => ${fqdn},
|
|
115 grant => ['SELECT', 'UPDATE'],
|
|
116 tag => $domain,
|
|
117 }
|
|
118 ```
|
|
119
|
|
120 さらに、これをリモートDBサーバに集めることができます。
|
|
121
|
|
122 ```puppet
|
|
123 Mysql::Db <<| tag == $domain |>>
|
|
124 ```
|
|
125
|
|
126 データベースの作成時にファイルにsqlパラメータを設定する場合は、新しいデータベースにファイルがインポートされます。
|
|
127
|
|
128 サイズの大きいsqlファイルの場合は、`import_timeout`パラメータの値(デフォルト値300秒)を大きくします。
|
|
129
|
|
130 MySQLクライアントを標準のbin/sbin以外のパスにインストールしている場合、`mysql_exec_path`にこれを設定します。
|
|
131
|
|
132 ```puppet
|
|
133 mysql::db { 'mydb':
|
|
134 user => 'myuser',
|
|
135 password => 'mypass',
|
|
136 host => 'localhost',
|
|
137 grant => ['SELECT', 'UPDATE'],
|
|
138 sql => '/path/to/sqlfile.gz',
|
|
139 import_cat_cmd => 'zcat',
|
|
140 import_timeout => 900,
|
|
141 mysql_exec_path => '/opt/rh/rh-myql57/root/bin'
|
|
142 }
|
|
143 ```
|
|
144
|
|
145 ### 設定のカスタマイズ
|
|
146
|
|
147 MySQLカスタム設定を追加するには、`includedir`にファイルを追加します。こうすると設定値をオーバーライドしたり別の設定値を追加したりすることができ、`mysql::server`で`override_options`を使用しない場合に役立ちます。`includedir`の場所は、デフォルトでは`/etc/mysql/conf.d`に設定されます。
|
|
148
|
|
149 ### 既存のサーバに対する操作
|
|
150
|
|
151 既存のMySQLサーバ上にデータベースとユーザのインスタンスを作成するには、`root`のホームディレクトリに`.my.cnf`ファイルが必要です。次の例のように、このファイルでリモートサーバのアドレスと認証情報を指定する必要があります。
|
|
152
|
|
153 ```puppet
|
|
154 [client]
|
|
155 user=root
|
|
156 host=localhost
|
|
157 password=secret
|
|
158 ```
|
|
159
|
|
160 このモジュールは、`mysqld_version`ファクトから、使用されているサーバのバージョンを認識します。デフォルトでは、`mysqld_version`は`mysqld -V`の出力に設定されています。リモートMySQLサーバに対する操作を行う場合は、`mysqld_version`に対応するカスタムファクトを設定しないと正常に動作しない可能性があります。
|
|
161
|
|
162 リモートサーバに対する操作を行う際には、Puppetマニフェスト内で`mysql::server`クラスを使用*しない*でください。
|
|
163
|
|
164 ### パスワードの指定
|
|
165
|
|
166 パスワードは、プレーンテキストとして渡せるだけでなく、次のようにハッシュとして入力することもできます。
|
|
167
|
|
168 ```puppet
|
|
169 mysql::db { 'mydb':
|
|
170 user => 'myuser',
|
|
171 password => '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4',
|
|
172 host => 'localhost',
|
|
173 grant => ['SELECT', 'UPDATE'],
|
|
174 }
|
|
175 ```
|
|
176
|
|
177 必要に応じて、パスワードも空文字列とし、パスワードなしで接続を許可することができます。
|
|
178
|
|
179 ### CentOSへのPerconaサーバのインストール
|
|
180
|
|
181 次の例は、CentOSシステムへのPerconaサーバの最小限のインストール方法を示します。この例では、Perconaサーバ、クライアント、バインディング(PerlとPythonのバインディングを含む)がセットアップされます。この方法をカスタマイズして必要に応じバージョンを更新することができます。
|
|
182
|
|
183 この方法は、Puppet 4.4/CentOS 7/Perconaサーバ5.7でテストされています。
|
|
184
|
|
185 注意:** yumレポジトリのインストールはこのパッケージには含まれていません。
|
|
186
|
|
187 ```puppet
|
|
188 yumrepo { 'percona':
|
|
189 descr => 'CentOS $releasever - Percona',
|
|
190 baseurl => 'http://repo.percona.com/centos/$releasever/os/$basearch/',
|
|
191 gpgkey => 'http://www.percona.com/downloads/percona-release/RPM-GPG-KEY-percona',
|
|
192 enabled => 1,
|
|
193 gpgcheck => 1,
|
|
194 }
|
|
195
|
|
196 class {'mysql::server':
|
|
197 package_name => 'Percona-Server-server-57',
|
|
198 package_ensure => '5.7.11-4.1.el7',
|
|
199 service_name => 'mysql',
|
|
200 config_file => '/etc/my.cnf',
|
|
201 includedir => '/etc/my.cnf.d',
|
|
202 root_password => 'PutYourOwnPwdHere',
|
|
203 override_options => {
|
|
204 mysqld => {
|
|
205 log-error => '/var/log/mysqld.log',
|
|
206 pid-file => '/var/run/mysqld/mysqld.pid',
|
|
207 },
|
|
208 mysqld_safe => {
|
|
209 log-error => '/var/log/mysqld.log',
|
|
210 },
|
|
211 }
|
|
212 }
|
|
213
|
|
214 # 注意:Percona-Server-server-57をインストールするとPercona-Server-client-57もインストールされます。
|
|
215 # 次の例は、Percona MySQLクライアントを単独でインストールする方法を示します。
|
|
216 class {'mysql::client':
|
|
217 package_name => 'Percona-Server-client-57',
|
|
218 package_ensure => '5.7.11-4.1.el7',
|
|
219 }
|
|
220
|
|
221 # 通常、以下のパッケージはPercona-Server-server-57とともにインストールされます。
|
|
222 # バインディングもインストールする必要がある場合は、このコードでインストールできます。
|
|
223 class { 'mysql::bindings':
|
|
224 client_dev_package_name => 'Percona-Server-shared-57',
|
|
225 client_dev_package_ensure => '5.7.11-4.1.el7',
|
|
226 client_dev => true,
|
|
227 daemon_dev_package_name => 'Percona-Server-devel-57',
|
|
228 daemon_dev_package_ensure => '5.7.11-4.1.el7',
|
|
229 daemon_dev => true,
|
|
230 perl_enable => true,
|
|
231 perl_package_name => 'perl-DBD-MySQL',
|
|
232 python_enable => true,
|
|
233 python_package_name => 'MySQL-python',
|
|
234 }
|
|
235
|
|
236 # Dependencies definition
|
|
237 Yumrepo['percona']->
|
|
238 Class['mysql::server']
|
|
239
|
|
240 Yumrepo['percona']->
|
|
241 Class['mysql::client']
|
|
242
|
|
243 Yumrepo['percona']->
|
|
244 Class['mysql::bindings']
|
|
245 ```
|
|
246
|
|
247 ### UbuntuへのMariaDBのインストール
|
|
248
|
|
249 #### オプション:MariaDBの公式のレポジトリのインストール
|
|
250
|
|
251 次の例では、distroレポジトリでなく公式のMariaDBレポジトリの最新の安定版(現在10.1)を使用しています。代わりに、Ubuntuレポジトリのパッケージを使用することもできます。必要に応じた正しいバージョンのレポジトリを使用してください。
|
|
252
|
|
253 **注意:** `sfo1.mirrors.digitalocean.com`は利用可能な多くのミラーの一例であり、公式のミラーであればいずれも使用できます。
|
|
254
|
|
255 ```puppet
|
|
256 include apt
|
|
257
|
|
258 apt::source { 'mariadb':
|
|
259 location => 'http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu',
|
|
260 release => $::lsbdistcodename,
|
|
261 repos => 'main',
|
|
262 key => {
|
|
263 id => '199369E5404BD5FC7D2FE43BCBCB082A1BB943DB',
|
|
264 server => 'hkp://keyserver.ubuntu.com:80',
|
|
265 },
|
|
266 include => {
|
|
267 src => false,
|
|
268 deb => true,
|
|
269 },
|
|
270 }
|
|
271 ```
|
|
272
|
|
273 #### MariaDBサーバのインストール
|
|
274
|
|
275 次の例では、Ubuntu TrustyへのMariaDBサーバのインストール方法を示しています。`my.cnf`のバージョンとパラメータは、必要に応じて調整してください。`my.cnf`のパラメータはすべて`override_options`パラメータを使用して定義できます。
|
|
276
|
|
277 フォルダ`/var/log/mysql`と`/var/run/mysqld`は自動的に作成されますが、他のカスタムフォルダを使用する場合は、それらがコードの必須要件になります。
|
|
278
|
|
279 以下に示す値はすべて、最小限の構成にする場合の例です。
|
|
280
|
|
281 必要なパッケージのバージョンを、`package_ensure`パラメータで指定してください。
|
|
282
|
|
283 ```puppet
|
|
284 class {'::mysql::server':
|
|
285 package_name => 'mariadb-server',
|
|
286 package_ensure => '10.1.14+maria-1~trusty',
|
|
287 service_name => 'mysql',
|
|
288 root_password => 'AVeryStrongPasswordUShouldEncrypt!',
|
|
289 override_options => {
|
|
290 mysqld => {
|
|
291 'log-error' => '/var/log/mysql/mariadb.log',
|
|
292 'pid-file' => '/var/run/mysqld/mysqld.pid',
|
|
293 },
|
|
294 mysqld_safe => {
|
|
295 'log-error' => '/var/log/mysql/mariadb.log',
|
|
296 },
|
|
297 }
|
|
298 }
|
|
299
|
|
300 # 依存関係の管理。レポジトリをインストールする場合はこの例の前のステップで示されている部分だけを使用してください。
|
|
301 Apt::Source['mariadb'] ~>
|
|
302 Class['apt::update'] ->
|
|
303 Class['::mysql::server']
|
|
304
|
|
305 ```
|
|
306
|
|
307 #### MariaDBクライアントのインストール
|
|
308
|
|
309 次の例は、MariaDBクライアントとすべてのバインディングを一度にインストールする方法を示します。このインストール操作は、サーバのインストール操作とは別に行うことができます。
|
|
310
|
|
311 必要なパッケージのバージョンを、`package_ensure`パラメータで指定してください。
|
|
312
|
|
313 ```puppet
|
|
314 class {'::mysql::client':
|
|
315 package_name => 'mariadb-client',
|
|
316 package_ensure => '10.1.14+maria-1~trusty',
|
|
317 bindings_enable => true,
|
|
318 }
|
|
319
|
|
320 # Dependency management. Only use that part if you are installing the repository as shown in the Preliminary step of this example.
|
|
321 Apt::Source['mariadb'] ~>
|
|
322 Class['apt::update'] ->
|
|
323 Class['::mysql::client']
|
|
324 ```
|
|
325
|
|
326 ### CentOSへのMySQL Communityサーバのインストール
|
|
327
|
|
328 MySQLモジュールおよびHieraを使用して、MySQL CommunityサーバーをCentOSにインストールすることができます。この例は以下のバージョンでテスト済みです。
|
|
329
|
|
330 * MySQL Community Server 5.6
|
|
331 * Centos 7.3
|
|
332 * Hieraを使用したPuppet 3.8.7
|
|
333 * puppetlabs-mysqlモジュールv3.9.0
|
|
334
|
|
335 Puppetで:
|
|
336
|
|
337 ```puppet
|
|
338 include ::mysql::server
|
|
339
|
|
340 create_resources(yumrepo, hiera('yumrepo', {}))
|
|
341
|
|
342 Yumrepo['repo.mysql.com'] -> Anchor['mysql::server::start']
|
|
343 Yumrepo['repo.mysql.com'] -> Package['mysql_client']
|
|
344
|
|
345 create_resources(mysql::db, hiera('mysql::server::db', {}))
|
|
346 ```
|
|
347
|
|
348 Hieraで:
|
|
349
|
|
350 ```yaml
|
|
351 ---
|
|
352
|
|
353 # Centos 7.3
|
|
354 yumrepo:
|
|
355 'repo.mysql.com':
|
|
356 baseurl: "http://repo.mysql.com/yum/mysql-5.6-community/el/%{::operatingsystemmajrelease}/$basearch/"
|
|
357 descr: 'repo.mysql.com'
|
|
358 enabled: 1
|
|
359 gpgcheck: true
|
|
360 gpgkey: 'http://repo.mysql.com/RPM-GPG-KEY-mysql'
|
|
361
|
|
362 mysql::client::package_name: "mysql-community-client" # 適切なMySQL導入のために必要
|
|
363 mysql::server::package_name: "mysql-community-server" # 適切なMySQL導入のために必要
|
|
364 mysql::server::package_ensure: 'installed' # ここではバージョンを指定しないでください。残念ながら、パッケージがインストールされているエラーでyumは失敗しました。
|
|
365 mysql::server::root_password: "change_me_i_am_insecure"
|
|
366 mysql::server::manage_config_file: true
|
|
367 mysql::server::service_name: 'mysqld' # Puppetモジュールに必要
|
|
368 mysql::server::override_options:
|
|
369 'mysqld':
|
|
370 'bind-address': '127.0.0.1'
|
|
371 'log-error': '/var/log/mysqld.log' # 適切なMySQL導入のために必要
|
|
372 'mysqld_safe':
|
|
373 'log-error': '/var/log/mysqld.log' # 適切なMySQL導入のために必要
|
|
374
|
|
375 # データベース+アクセスできるアカウント、暗号化されていないパスワードを作成
|
|
376 mysql::server::db:
|
|
377 "dev":
|
|
378 user: "dev"
|
|
379 password: "devpass"
|
|
380 host: "127.0.0.1"
|
|
381 grant:
|
|
382 - "ALL"
|
|
383
|
|
384 ```
|
|
385
|
|
386 ### プラグインのインストール
|
|
387
|
|
388 プラグインはユーザ定義のタイプ`mysql_plugin` を使用してインストールできます。`examples/mysql_plugin.pp`で、具体的な例を参照してください。
|
|
389 ## リファレンス
|
|
390
|
|
391 ### クラス
|
|
392
|
|
393 #### パブリッククラス
|
|
394
|
|
395 * [`mysql::server`](#mysqlserver):MySQLをインストールして設定します。
|
|
396 * [`mysql::server::monitor`](#mysqlservermonitor):モニタするユーザをセットアップします。
|
|
397 * [`mysql::server::mysqltuner`](#mysqlservermysqltuner):MySQL tunerスクリプトをインストールします。
|
|
398 * [`mysql::server::backup`](#mysqlserverbackup):cronを使用してMySQLバックアップをセットアップします。
|
|
399 * [`mysql::bindings`](#mysqlbindings):さまざまなMySQL言語バインディングをインストールします。
|
|
400 * [`mysql::client`](#mysqlclient):MySQLクライアントをインストールします(サーバ以外)。
|
|
401
|
|
402 #### プライベートクラス
|
|
403
|
|
404 * `mysql::server::install`:パッケージをインストールします。
|
|
405 * `mysql::server::installdb`:mysqldデータディレクトリ(/var/lib/mysqlなど)のセットアップを実行します。
|
|
406 * `mysql::server::config`:MySQLを設定します。
|
|
407 * `mysql::server::service`:サービスを管理します。
|
|
408 * `mysql::server::account_security`:デフォルトのMySQLアカウントを削除します。
|
|
409 * `mysql::server::root_password`:MySQLのルートパスワードを設定します。
|
|
410 * `mysql::server::providers`:ユーザ、GRANT権限、データベースを作成します。
|
|
411 * `mysql::bindings::client_dev`:MySQLクライアント開発パッケージをインストールします。
|
|
412 * `mysql::bindings::daemon_dev`:MySQLデーモン開発パッケージをインストールします。
|
|
413 * `mysql::bindings::java`:javaバインディングをインストールします。
|
|
414 * `mysql::bindings::perl`:Perlバインディングをインストールします。
|
|
415 * `mysql::bindings::php`:PHPバインディングをインストールします。
|
|
416 * `mysql::bindings::python`:Pythonバインディングをインストールします。
|
|
417 * `mysql::bindings::ruby`:Rubyバインディングをインストールします。
|
|
418 * `mysql::client::install`:MySQLクライアントをインストールします。
|
|
419 * `mysql::backup::mysqldump`:mysqldumpのバックアップを実行します。
|
|
420 * `mysql::backup::mysqlbackup`:Oracle MySQL Enterprise Backupを使用してバックアップを実行します。
|
|
421 * `mysql::backup::xtrabackup`:PerconaのXtraBackupを使用してバックアップを実行します。
|
|
422
|
|
423 ### パラメータ
|
|
424
|
|
425 #### mysql::server
|
|
426
|
|
427 ##### `create_root_user`
|
|
428
|
|
429 ルートユーザを作成するかどうかを指定します。
|
|
430
|
|
431 有効な値:`true`、`false`。
|
|
432
|
|
433 デフォルト値:`true`。
|
|
434
|
|
435 このパラメータは、Galeraでクラスタをセットアップする場合に役立ちます。ルートユーザの作成が必要なのは一度だけです。このパラメータを、1つのノードに対しtrueに設定し、他のすべてのノードに対してfalseに設定できます。
|
|
436
|
|
437 ##### `create_root_my_cnf`
|
|
438
|
|
439 `/root/.my.cnf`を作成するかどうかを指定します。
|
|
440
|
|
441 有効な値:`true`、`false`。
|
|
442
|
|
443 デフォルト値:`true`。
|
|
444
|
|
445 `create_root_my_cnf`を使用すると`create_root_user`に左右されずに`/root/.my.cnf`を作成できます。すべてのノードに`/root/.my.cnf`が存在するようにしたい場合に、Galeraでこの機能を使用してクラスタをセットアップできます。
|
|
446
|
|
447 ##### `root_password`
|
|
448
|
|
449 MySQLのルートパスワード。Puppetは、このパラメータを使用して、ルートパスワードの設定や`/root/.my.cnf`の更新を試みます。
|
|
450
|
|
451 `create_root_user`または`create_root_my_cnf`がtrueの場合にこのパラメータが必要です。`root_password`が'UNSET'の場合は`create_root_user`と`create_root_my_cnf`がfalseになります(MySQLルートユーザと`/root/.my.cnf`が作成されません)。
|
|
452
|
|
453 パスワード変更はサポートされますが、`/root/.my.cnf`に旧パスワードが設定されている必要があります。実際には、Puppetは`/root/.my.cnf`に設定されている旧パスワードを使用してMySQLで新しいパスワードを設定してから、`/root/.my.cnf`を新しいパスワードで更新します。
|
|
454
|
|
455 ##### `old_root_password`
|
|
456
|
|
457 現在、このパラメータでは何も行わず、下位互換性を確保するためだけに存在します。ルートパスワードの変更についての詳細は、上記の`root_password`パラメータの説明を参照してください。
|
|
458
|
|
459 ##### `create_root_login_file`
|
|
460
|
|
461 mysql 5.6.6以上を使用するときに、`/root/.mylogin.cnf`を作成するかどうかを指定します。
|
|
462
|
|
463 有効な値:`true`、`false`。
|
|
464
|
|
465 デフォルト値:`false`。
|
|
466
|
|
467 `create_root_login_file`は、既存の`.mylogin.cnf`のコピーを`/root/.mylogin.cnf`に作成します。
|
|
468
|
|
469 このオプションを'true'に設定する場合、`login_file`オプションも指定する必要があります。
|
|
470
|
|
471 'true'に設定する場合、`login_file`オプションが必要です。
|
|
472
|
|
473 #### `login_file`
|
|
474
|
|
475 `/root/.mylogin.cnf`を規定の位置に配置するかどうかを指定します。
|
|
476
|
|
477 `.mylogin.cnf`ファイルの作成には、`mysql_config_editor`を使用する必要があります。このツールは、mysql 5.6.6+に付属しています。
|
|
478
|
|
479 作成した.mylogin.cnfファイルは、モジュール内のファイルの下に配置する必要があります。使用法については下記の例を参照してください。
|
|
480
|
|
481 `/root/.mylogin.cnf`が存在する場合、環境変数`MYSQL_TEST_LOGIN_FILE`が設定されます。
|
|
482
|
|
483 このパラメータは、`create_root_user`と`create_root_login_file`がどちらもtrueである場合に必要です。`root_password`が'UNSET'である場合、`create_root_user`および`create_root_login_file`はfalseであると見なされます。このため、MySQLのrootユーザと`/root/.mylogin.cnf`は作成されません。
|
|
484
|
|
485 ```puppet
|
|
486 class { '::mysql::server':
|
|
487 root_password => 'password',
|
|
488 create_root_my_cnf => false,
|
|
489 create_root_login_file => true,
|
|
490 login_file => "puppet:///modules/${module_name}/mylogin.cnf",
|
|
491 }
|
|
492 ```
|
|
493
|
|
494 ##### `override_options`
|
|
495
|
|
496 MySQLに渡すオーバーライドオプションを指定します。構造はmy.cnfファイルのハッシュと同様です。
|
|
497
|
|
498 ```puppet
|
|
499 class { 'mysql::server':
|
|
500 root_password => 'password'
|
|
501 }
|
|
502
|
|
503 mysql_plugin { 'auth_pam':
|
|
504 ensure => present,
|
|
505 soname => 'auth_pam.so',
|
|
506 }
|
|
507
|
|
508 ```
|
|
509
|
|
510 ### タスク
|
|
511
|
|
512 MySQLモジュールにはサンプルタスクがあり、ユーザはデータベースに対して任意のSQLを実行できます。[Puppet Enterpriseマニュアル](https://puppet.com/docs/pe/2017.3/orchestrator/running_tasks.html)または[Boltマニュアル](https://puppet.com/docs/bolt/latest/bolt.html)で、タスクを実行する方法に関する情報を参照してください。
|
|
513
|
|
514 ## 制約事項
|
|
515
|
389
|
516 サポートされているオペレーティングシステムの一覧については、[metadata.json](https://github.com/puppetlabs/puppetlabs-mysql/blob/main/metadata.json)を参照してください。
|
244
|
517
|
|
518 **注意:** mysqlbackup.shは、MySQL 5.7以降では動作せず、サポートされていません。
|
|
519
|
|
520 ## 開発
|
|
521
|
|
522 Puppet Forge上のPuppetモジュールはオープンプロジェクトであり、その価値を維持するにはコミュニティからの貢献が欠かせません。Puppetが提供する膨大な数のプラットフォームや、無数のハードウェア、ソフトウェア、デプロイ設定に弊社がアクセスすることは不可能です。
|
|
523
|
|
524 弊社は、できるだけ変更に貢献しやすくして、弊社のモジュールがユーザの環境で機能する状態を維持したいと考えています。弊社では、状況を把握できるよう、貢献者に従っていただくべきいくつかのガイドラインを設けています。
|
|
525
|
|
526 弊社の詳細な[モジュール貢献についてのガイドライン](https://docs.puppetlabs.com/forge/contributing.html)をご確認ください。
|
|
527
|
|
528 ### 作成者
|
|
529
|
|
530 このモジュールは、David Schmittが作成したものをベースにして、以下の作成者による貢献内容が加えられています(Puppet Labsを除く)。
|
|
531
|
|
532 * Larry Ludwig
|
|
533 * Christian G. Warden
|
|
534 * Daniel Black
|
|
535 * Justin Ellison
|
|
536 * Lowe Schmidt
|
|
537 * Matthias Pigulla
|
|
538 * William Van Hevelingen
|
|
539 * Michael Arnold
|
|
540 * Chris Weyl
|
|
541 * Daniël van Eeden
|
|
542 * Jan-Otto Kröpke
|
|
543 * Timothy Sven Nelson
|