未来の自分にメモ。
MySQLには auth_socketプラグイン があるので、root@localhostをパスワードレスにしてOS rootからしかアクセスできなくすることができる(今日日OS rootに直接sshする機会はないと思うのでつまり sudo mysql でしかアクセスできなくする)
my.cnfのテンプレートファイルか何かの [mysqld] セクションに plugin_load を追加(もし、既に plugin_load を使っていてその後ろに書くのなら plugin_load_add を使う)
plugin_load= auth_socket.so
ユーザーをセットアップする時にroot@localhostはpluginを指定して作る。
- name: create root@localhost
community.mysql.mysql_user:
host: localhost
name: root
state: present
login_user: root
login_host: localhost
login_unix_socket: "/var/lib/mysql/mysql.sock"
sql_log_bin: false
plugin: "auth_socket"
それ以降に別のアカウントを作る時は、OS rootでないとroot@localhostを使えなくなっているので become: true で作る。
- name: create app user
community.mysql.mysql_user:
host: "192.168.0.1"
name: appuser
password: "{{ appuser_password }}"
priv: "app_schema.*:INSERT,UPDATE,SELECT,DELETE"
login_user: root
login_host: localhost
login_unix_socket: "/var/lib/mysql/mysql.sock"
sql_log_bin: false
become: true
0 件のコメント :
コメントを投稿