# 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
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
'클라우드 > 앤서블(Ansible)' 카테고리의 다른 글
앤서블 Ansible 플레이북 ( playbook ) / wordpress 구성하기 2 (0) | 2021.07.29 |
---|---|
앤서블 Ansible 플레이북 ( playbook ) / wordpress 구성하기 1 (0) | 2021.07.29 |
앤서블 Ansible 파일 모듈 / 네트워크 도구 모듈 / 패키지 모듈 / 시스템 모듈 (0) | 2021.07.28 |
앤서블 Ansible 명령 모듈 (0) | 2021.07.28 |
앤서블 Ansible 구성파일 / 관리노드 연결 (0) | 2021.07.28 |