mahdi22.mariadb_install

Ansible Ansible Galaxy

Ansibleロール mariadb_install

RHEL/CentOS(7,8)、Debian(9,10)、およびUbuntu(20.04, 19.10, 18.04, 16.04)ディストリビューションにMariaDBをインストールし、セキュリティを強化するためのAnsibleロールです。このロールの具体的な役割は以下の通りです:

  • MariaDBパッケージを公式MariaDBリポジトリからインストール
  • MariaDBサーバーの設定
  • データベースのルートパスワードを設定
  • 匿名ユーザーを削除
  • テストデータベースを削除
  • ルートのリモート接続を削除
  • データベースを作成
  • データベースユーザーを作成
  • files/*.sql スクリプトをデータベースにインポート

インストール

$ ansible-galaxy install mahdi22.mariadb_install

ロール変数

基本設定

変数 デフォルト コメント
mariadb_version '10.4' MariaDBのバージョンを設定します。(- v(10.5 10.4 10.3)はRHEL/Centos 8、Debian 10、Ubuntu 20.04、Ubuntu 19.10に使用可能。- v(10.5 10.4 10.3 10.2 10.1)はRHEL/CentOS 7、Debian 9、 Ubuntu 18.04、Ubuntu 16.04に使用可能)
bind-address '127.0.0.1' リッスンするネットワークインターフェースのIPアドレスを設定します。全インターフェースでリッスンするには '0.0.0.0' を設定します。
configure_swappiness 'True' Trueの場合、このロールは「swappiness」値を設定します(mariadb_swappinessを参照)。
create_database 'False' データベースを作成する場合は、create_databaseTrueに設定します。
database '' データベース名を設定します。create_database: trueと一緒に使う必要があります。
port 3306 クライアントリクエストをリッスンするために使用するポート番号
mysql_root_password 'azerty' MariaDBのルートパスワードを設定します
mariadb_service mariadb サービスの名前
swappiness '10' 「Swappiness」値(文字列)。システムのデフォルトは60です。0の値はプロセスをスワップアウトすることを避けます。
create_db_user 'False' ユーザーデータベースを作成する場合は、create_db_userTrueに設定します。
db_user_name '' 追加されるユーザーを設定します。create_database: trueおよびcreate_db_user: trueと一緒に使う必要があります。
db_user_password '' ユーザーデータベースのパスワードを設定します。
priviliges 'ALL' ユーザーデータベースの権限を設定します。
mariadb_logrotate: rotate '7' MariaDBのlogrotate回数を設定します。
mariadb_logrotate: rotation 'daily' MariaDBのlogrotateの回転を設定します。
use_proxy 'False' 管理対象ホストがWebプロキシの背後にある場合は、この変数をTrueに設定します... デフォルトはFalseです。
import_sql_file 'False' データベースにSQLファイルをインポートする場合は、この変数をTrueに設定します... デフォルトはFalseです。
sql_file_name '[]' データベースにインポートするSQLファイルの名前リスト(一つ以上)... import_sql_filetrueの場合はこの変数を定義する必要があります。

備考

(1) MySQLルートユーザーのリモート接続を削除するには、deny_remote_connections: trueを設定します。例: defaults/main.yml

deny_remote_connections: true

(2) データベースのルートパスワードを設定することを強くお勧めします! パスワードを空のままにすることはセキュリティリスクです。この変数が設定されていない場合、ロールは警告を表示します。デフォルトのパスワードは「azerty」です。 defaults/main.yml

mysql_root_password: 'azerty'

(3) データベースにSQLスクリプトをインポートするには、import_sql_file: trueを設定し、sql_file_nameを定義し、SQLスクリプトをfilesディレクトリ(mahdi22.mariadb_install/files/)に置きます。例: defaults/main.yml

import_sql_file: true
sql_file_name:
    - sqlscript1.sql
    - sqlscript2.sql
    - sqlscriptN.sql

例Playbook

デフォルトのパラメータと変数を使用してロールを実行するためのPlaybook例

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes

いくつかの変数を使用してロールを実行するためのPlaybook例

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password

Webプロキシを使用してロールを実行するためのPlaybook例

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password
        use_proxy: yes
        proxy_env:
          http_proxy: http://proxy.local:8080/
          https_proxy: http://proxy.local:8080/

SQLスクリプトをインポートするときのロールを実行するためのPlaybook例

- hosts: mariadb
  roles:
    - role: mahdi22.mariadb_install
      become: yes
      vars:
        mariadb_version: "10.5"
        deny_remote_connections: true
        mysql_root_password: "azerty"
        create_database: true
        database: database_test
        create_db_user: true
        db_user_name: user_database
        db_user_password: password
        use_proxy: yes
        proxy_env:
          http_proxy: http://proxy.local:8080/
          https_proxy: http://proxy.local:8080/
        import_sql_file: true
        sql_file_name:
          - sqlscript1.sql
          - sqlscript2.sql
          - sqlscriptN.sql

テスト

このロールは以下のLinuxディストリビューションでテストされています:

  • RHEL/CentOS 8
  • RHEL/CentOS 7
  • Debian 10
  • Debian 9
  • Debian 8
  • Ubuntu 20.04
  • Ubuntu 19.10
  • Ubuntu 18.04
  • Ubuntu 16.04
プロジェクトについて

Install and configure Mariadb server on Rhel/CentOS, Debian and Ubuntu ditributions

インストール
ansible-galaxy install mahdi22.mariadb_install
ライセンス
mit
ダウンロード
1.6k
所有者