手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 MariaDB を Ansible で設定

CentOS 8 の MariaDB 設定はこちらを参照して下さい。

MariaDB を Ansible で設定します。DB やユーザーの設定は WordPress を想定しています。

普段、MariaDB を手動で設定する際、①インストール、② mysql_secure_installation、③ DB 作成、④ユーザー作成を行っています。他のサイトでよく見る文字コードの設定などは、特に実施しなくとも問題になったことがないので、やっていません。

MariaDB の Ansible 化にあたって特に面倒だと思っていたのが mysql_secure_installation ですが、インストール直後の状態を見てみると、匿名ユーザーもなく、テスト DB もない状態でした。つまり、mysql_secure_installation でやったいたことは、実質 root ユーザーのパスワード設定のみでした。このrootユーザーのパスワード設定も、「check_implicit_admin: yes」にて対応可能です( MariaDB はインストール直後はパスワードが空)。

name: dnf -y install mariadb-server
  dnf:
    name: "{{item}}"
    state: latest
  loop:
  - "mariadb-server"
  - "python3-mysql"

- name: systemctl enable --now mariadb.service
  systemd:
    name: mariadb.service
    state: started
    enabled: yes

- name: mariadb root user password setting
  mysql_user:
    login_user: "{{mariadb_root_user}}"
    login_password: "{{mariadb_root_pass}}"
    name: "{{mariadb_root_user}}"
    password: "{{mariadb_root_pass}}"
    state: present
    check_implicit_admin: yes

- name: create wordpress database
  mysql_db:
    login_user: "{{mariadb_root_user}}"
    login_password: "{{mariadb_root_pass}}"
    name: "{{mariadb_wordpress_db}}"
    state: present

- name: create user for wordpress database
  mysql_user:
    login_user: "{{mariadb_root_user}}"
    login_password: "{{mariadb_root_pass}}"
    name: "{{mariadb_wordpress_user}}"
    password: "{{mariadb_wordpress_pass}}"
    priv: "{{mariadb_wordpress_db}}.*:ALL"
    state: present

尚、python3-mysql がないと Ansible の mysql モジュールが動きませんね。

CentOS 8 MariaDB を Ansible で設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る