본문 바로가기

클라우드/앤서블(Ansible)

앤서블 Ansible Ad-hoc 명령으로 mysql 구성하기

# Ansible Ad-hoc 명령으로 mysql 구성하기

 

 

ansible-doc MySQL_db, MySQL_user 모듈을 사용하기 위한 요구사항이 pymysql 이기 때문에 pymysql 패키지를 설치 해야한다.

파이썬을 이용해서 mysql을 컨트롤하기 위한 라이브러리

apt 패키지  python3-pymysql

pip3 패키지 pymysql

같은 패키지이지만 배포판마다 패키지 이름이 다를 수 있다

 

서비스 확인

 

 

/var/run/mysqld/mysqld.sock  소켓 파일

소켓파일을 이용하여 해당되는 mysql 서버 데몬(프로세스,서비스)에 전달해준다.  DB세팅을 할때 , pymsql 라이브러리를 통해 접근해야하는데 패스워드가 없는 계정으로 접근하는 방법이 없기 때문에, 접근할때 소켓파일을 통해 접근한다. 소켓으로 접근해서 사용자를 만들고 패스워드를 설정한다.

소켓파일을 이용하면 인증 할 필요가 없다.

name 생성 할 사용자

 

 

관리노드에 접속하여 확인

인증없이 wpdb database가 생성된것을 확인할수있다

 

 

mysql_user 사용자 생성

wpdb 에 대한 권한이 필요하기 때문에 privileges(권한) 설정한다. (wpdb의 모든 테이블에 all, grant 권한을 준다)

소켓 통신을 하지 않을때는 login user ,login password를 설정해서 접근

하지만 최초의 접근은 소켓으로만 접근 가능하다

 

워드프레스 사용자가 접속 할 수 있는 host

web app만 접근하게 하고싶으면 192.168.200.101/32로 설정한다

 

 

관리노드에 접속하여 시스템 상태 확인 

 

 

 

 

https://docs.ansible.com/ansible/2.9/modules/mysql_db_module.html#mysql-db-module

 

mysql_db – Add or remove MySQL databases from a remote host — Ansible Documentation

© Copyright 2019 Red Hat, Inc. Last updated on Jul 19, 2021.

docs.ansible.com

 

더보기



ansible -m service -a 'name=mysql-server,python3-pymysql state=latest' -b 192.168.200.101
ansible -m apt -a 'name=mysql-server,python3-pymysql state=latest' -b 192.168.200.101
ansible -m service -a 'name=mysql state=started'
ansible -m service -a 'name=mysql state=started' 192.168.200.101
ansible -m mysql_db -a 'login_unix_socket=/var/run/mysqld/mysqld.sock name=wpdb state=present' -b 192.168.200.101
ssh 192.168.200.101
ansible -m mysql_user -a 'login_unix_socket=/var/run/mysqld/mysqld.sock name=wpadm password=qwer1234 state=present' -b 192.168.200.101
ansible -m mysql_user -a 'login_unix_socket=/var/run/mysqld/mysqld.sock name=wpadm password=qwer1234 priv="wpdb.*:ALL,GRANT" state=present' -b 192.168.200.101