2.7.0μμ 2.7.1λ‘ μ
κ·Έλ μ΄λ ν λ mysql_user
λͺ¨λμμμ΄ μ€λ₯κ° νμλκΈ° μμνμ΅λλ€.
unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")
μμ μ λ€μκ³Ό κ°μ΅λλ€.
# Write password to root home as readable only by root so future mysql
# operations can function.
- name: Write root login credentials
copy:
dest: /root/.my.cnf
owner: root
group: root
mode: 0600
content: |
# {{ ansible_note }}
[client]
user=root
password={{ db_root_password }}
# By default the root user has no password. Set one.
- name: Set root user password
mysql_user:
host: "{{ item }}"
name: root
password: "{{ db_root_password }}"
# Login without credentials
check_implicit_admin: yes
state: present
with_items:
- localhost
- "{{ ansible_hostname }}"
- 127.0.0.1
- ::1
νμλ μ€ν¨ν©λλ€.
Ansible 2.7.0μ΄ μ λλ‘ μλν©λλ€.
mysql_user
```μλμ λΆμ¬ λ£κΈ°
ansible 2.7.1
κ΅¬μ± νμΌ = μμ
ꡬμ±λ λͺ¨λ κ²μ κ²½λ‘ = [ '/Users/esamatti/.ansible/plugins/modules', '/ usr / share / ansible / plugins / modules']
ansible νμ΄μ¬ λͺ¨λ μμΉ = /usr/local/lib/python3.7/site-packages/ansible
μ€ν κ°λ₯ μμΉ = / usr / local / bin / ansible
python λ²μ = 3.7.0 (κΈ°λ³Έκ°, 2018 λ
10 μ 2 μΌ, 09:18:58) [Clang 10.0.0 (clang-1000.11.45.2)]
##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
ANSIBLE_PIPELINING(/Users/epeli/code/playbooks/ansible.cfg) = True
ANSIBLE_SSH_ARGS(/Users/epeli/code/playbooks/ansible.cfg) = -o ForwardAgent=yes
DEFAULT_FORKS(/Users/epeli/code/playbooks/ansible.cfg) = 100
DEFAULT_HOST_LIST(/Users/epeli/code/playbooks/ansible.cfg) = ['/Users/epeli/code/playbooks/tools/dynamic-inventory']
DEFAULT_REMOTE_USER(/Users/epeli/code/playbooks/ansible.cfg) = root
DEFAULT_SUDO_FLAGS(/Users/epeli/code/playbooks/ansible.cfg) = -HE
DEFAULT_VAULT_PASSWORD_FILE(env: ANSIBLE_VAULT_PASSWORD_FILE) = /Users/epeli/.ansible-vault-password
macOS Mojave λ²μ 10.14 (18A391)
κ·Έλ¦¬κ³ Ubuntu 18.04 μλ²
μμ½ μ°Έμ‘°
paste below
TASK [mariadb : Set root user password] ********************************************************************************************************************************************************************************
failed: [1.2.3.4] (item=localhost) => {"changed": false, "item": "localhost", "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}
failed: [1.2.3.4] (item=customer) => {"changed": false, "item": "customer", "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}
failed: [1.2.3.4] (item=127.0.0.1) => {"changed": false, "item": "127.0.0.1", "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}
failed: [1.2.3.4] (item=::1) => {"changed": false, "item": "::1", "msg": "unable to connect to database, check login_user and login_password are correct or /root/.my.cnf has the credentials. Exception message: (1698, \"Access denied for user 'root'@'localhost'\")"}
μλ νμΈμ @epeli ,μ΄ λ¬Έμ λ₯Ό μ μΆν΄ μ£Όμ μ κ°μ¬ν©λλ€!
μ€λͺ μμ μλ³ λ νμΌ :
μ΄λ¬ν νμΌμ΄ μ ννμ§ μμ κ²½μ° μ€λͺ
μ component name
μΉμ
μ μ
λ°μ΄νΈνκ±°λ !component
λ΄ λͺ
λ Ήμ μ¬μ©νμμμ€.
@epeli μλ νμΈμ, https://github.com/ansible/ansible/pull/47809μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€. PRμ λν μ견μ μΆκ°ν΄ μ£Όμκ² μ΅λκΉ?
@timorunge μ΄ ν¨μΉ μμ΄λ λ€λ₯Έ mysql μ¬μ©μλ₯Ό μΆκ° ν μμμμ΅λλ€ ...
μ, μ λ¬Έμ λμ΄ PRκ³Ό κ΄λ ¨μ΄ μμ§λ§ # 47736κ³Ό κ΄λ ¨μ΄ μμΌλ―λ‘ κ³μν΄μ μ΄μΌκΈ°νκ² μ΅λλ€. κ·Έλ¦¬κ³ Dockerfileμ μ 곡 ν μ μμ΅λλ€. μ£μ‘ν©λλ€.
μ΄λ―Έ λ€λ₯Έ μμλ‘ λμΌν κ²μ μλ νμ΅λκΉ? κΈ°λ³Έμ μΌλ‘ μλ―Έ : λ¨Όμ μνΈμμ΄ λ‘κ·ΈμΈνκ³ λ£¨νΈ μνΈλ₯Ό μ€μ ν λ€μ .my.cnf?
μμ¦ μ΄λ€ νμ΄μ¬ DB 컀λ₯ν°λ₯Ό μ¬μ©νκ³ μμ΅λκΉ? MySQLdb λλ PyMySQL?
μλ
νμΈμ,
Ansible 2.7.5μμ λμΌν λ¬Έμ κ° λ°μν μ μμ΅λκΉ? mysql_db μ¬μ©
ansible 2.7.5
config file = None
configured module search path = [u'/home/vagrant/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.12 (default, Nov 12 2018, 14:36:49) [GCC 5.4.0 20160609]
λ¬λ¦¬λ:
```-μ΄λ¦ : install_gerrit | MySQL DB μμ± (μ¬μ© λ κ²½μ°)
mysql_db :
μ΄λ¦ : "{{item.db}}"
μΈμ½λ© : latin1
μν : νμ¬
with_items : '{{gerrit_db_info}}'
μΈμ : item.typeμ΄ μ μλκ³ item.type == "mysql"
Error:
μ€ν¨ : [192.168.202.15] {
"λ³κ²½λ¨": κ±°μ§,
"νΈμΆ": {
"module_args": {
"collation": "",
"config_file": "/root/.my.cnf",
"connect_timeout": 30,
"μΈμ½λ©": "latin1",
"ignore_tables": [],
"login_host": "λ‘컬 νΈμ€νΈ",
"login_password": null,
"login_port": 3306,
"login_unix_socket": null,
"login_user": null,
"μ΄λ¦": "reviewdb",
"quick": μ°Έ,
"λ¨μΌ κ±°λ": κ±°μ§,
"ssl_ca": null,
"ssl_cert": null,
"ssl_key": null,
"μν": "νμ¬",
"λμ": null
}
},
"μ건": {
"db": "reviewdb",
"νΈμ€νΈ": "λ‘컬 νΈμ€νΈ",
"ν΅κ³Ό": "xxxxxx",
"μ ν": "mysql",
"user": "gerrit"
},
"msg": "λ°μ΄ν°λ² μ΄μ€μ μ°κ²°ν μ μμ΅λλ€. login_user λ° login_passwordκ° μ¬λ°λ₯Έμ§ νμΈνκ±°λ /root/.my.cnfμ μ격 μ¦λͺ
μ΄ μλμ§ νμΈνμμμ€. μμΈ λ©μμ§ : (1698, u" 'root'@ 'localhost'μ¬μ©μμ λν μ‘μΈμ€κ° κ±°λΆλμμ΅λλ€. ") "
}
```
mysql_dbμ λμΌν λ¬Έμ μΈ κ² κ°μ΅λλ€. ansible v2.7.0μΌλ‘ λ€μ μ΄λνλ©΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€.
κ·Έκ² μ΄λμΈμ§ λͺ¨λ₯΄κ² μ§λ§ μΌλ§ μ μ λΉμ·ν λ¬Έμ λ₯Ό μ‘°μ¬νλλ° κ·Έ μ΄μ λ MySQLdb (libmysql κΈ°λ°)κ° κΈ°λ³Έμ μΌλ‘ Unix μμΌμ μ¬μ©νμ¬ μ°κ²°νλ λ°λ©΄ PyMySQL κΈ°λ³Έμ μΌλ‘ TCPλ₯Ό ν΅ν΄ localhost
λμμ΅λλ€. MySQL μλ²μ λν λ£¨νΈ μ‘μΈμ€κ° ꡬμ±λ λ°©μμ λ°λΌμ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° λμμ΄ λ μ μμ΅λλ€.
λ΄κ° λ§νλ―μ΄, λλ λ΄κ° μ μ μ΄κ²μ μ΄λμ μΌλμ§ μ λ§λ‘ κΈ°μ΅νμ§ λͺ»νλ©° λ μ΄μ μΈλΆ μ¬νμ λν΄ νμ νμ§ λͺ»νμ§λ§ μλ§λ μ΄κ²μμ΄ λ¬Έμ λ₯Ό κ°μ§ λΉμ μ€ ν λͺ μ΄ κ·Έκ²μ ν΄κ²°νλ λ°©λ²μ λν ννΈλ₯Ό μ€ κ²μ λλ€ :)
μκ² μ΅λλ€. μ°Ύμμ΅λλ€. 10 μ 2 μΌ # ansible-develμ λν ν λ‘ μ΄μλλ°, μ°κ²°μ λ¬Έμ κ°μλ μ¬μ©μ (μ²μμλ λΉ λ¬Έμμ΄ μνΈ μ²λ¦¬κ° λ¬Έμ λΌκ³ μμ¬ νμ)κ° λ§μΉ¨λ΄ login_unix_socket
λ₯Ό μ¬μ©ν΄μΌνλ€λ κ²μ μκ²λμμ΅λλ€. (μμμ μΈκΈ ν λ€λ₯Έ νλμΌλ‘ μΈν΄) κ·Έμκ² ν¨κ³Όκ°μμμ΅λλ€. λΆννλ κ·Έλ κ·Έκ²μ λν λ¬Έμ λ₯Ό λ§λ€μ§ μμμ΅λλ€.
μ΄μ¨λ @epeli @anniemelen @ bchanan03 , login_unix_socket
μ΅μ
μ μ¬μ©ν΄λ³΄κ³ λ¬Έμ κ° ν΄κ²°λλμ§ νμΈν΄ μ£Όμκ² μ΅λκΉ?
μλ
νμΈμ,
Centos7, ansible 2.7.6μμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€.
socket=/var/lib/mysql/mysql.sock
μμ ~/.my.cnf
λλ mysql_db μμ
μ login_unix_socket: /var/lib/mysql/mysql.sock
μ΅μ
μ°κ²° μ€λ₯λ₯Ό μμ νκ³ μμ΅λλ€.
cc @Xyon @bmalynovytch @dagwieers @michaelcoburn @oneiroi @tolland
λ΄ λμλ§μ λ³΄λ €λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦νμμμ€.
μ§κΈκΉμ§ μ£μ‘ν©λλ€.μ΄ λ²κ·Έλ μμ§ ν΄κ²°λμ§ μμ κ² κ°μ΅λλ€.
@nizarakbarm λ΄κ° μ μν κ²μ μλνκ³ @efflamlemailletμ΄ μλνκ³ νμΈ νμ΅λκΉ? λΉμ μ΄ κ·Έκ²μ μλ ν μ μλ€λ©΄ μ’μ κ²μ λλ€. κ·Έλ¦¬κ³ κ·Έκ²μ΄ μλνλμ§ (μλλ©΄!) μ¬κΈ°μμ νμΈνμμμ€.
μλ
νμΈμ @felixfontein, μ°λΆν¬ 18.04μ @efflamlemaillet μμ λ¬Έμ μ ν΄κ²° λ°©λ² μ 곡
λ€μκ³Ό κ°μ΄ μκ°ν©λλ€.
https://stackoverflow.com/questions/41846000/mariadb-password-and-unix-socket-authentication-for-root
κ΄λ ¨μ΄ μμ΅λλ€.
μλ
νμΈμ,
@pouyana λ§νλ―μ΄ , μ΄μ μ λ‘컬 μλ²μμ κΈ°λ³Έμ μΌλ‘ μμΌ μ°κ²°μ μ¬μ©νλ ansible mysql λͺ¨λμ μ΄μ tcpλ₯Ό μ¬μ©νκ³ μμ΅λλ€.
@felixfontein μλνμ§λ§ ~ / .my.cnfλ₯Ό μ¬μ©νκ³ μΆμ§ μμ΅λλ€.
@nizarakbarm login_unix_socket: /var/lib/mysql/mysql.sock
λ Ansibleμμ μ§μ ν μμλ νλͺ©μ
λλ€. μλν΄ λ³΄μ
¨μ΅λκΉ?
@efflamlemaillet μ λ μ ννκ² λ§νλ©΄ Ansible λͺ¨λ μμ²΄κ° μλλΌ μ¬μ©νλ Python MySQL μ°κ²° λΌμ΄λΈλ¬λ¦¬μ λλ€. μ΄μ λΌμ΄λΈλ¬λ¦¬ μΈ MySQLdb (libmysql κΈ°λ°)λ Unix μμΌμ μ νΈνλ λ°λ©΄ μ λΌμ΄λΈλ¬λ¦¬ μΈ PyMySQLμ TCP μ°κ²°μ μ νΈν©λλ€. νλ μ΄ λΆ / μν μ λͺ μμ μ΄κ³ μ°κ²° λ°©λ²μ μ§μ νλ κ²½μ°μλ μ€μνμ§ μμ΅λλ€. κ·Έλ¬λ κ·Έλ μ§ μμ κ²½μ° λͺ¨λμ΄ μ¬μ©νλ λΌμ΄λΈλ¬λ¦¬μ λ°λΌ λ€λ¦ λλ€. λͺ¨λμ λ¨Όμ PyMySQLμ μλνκ³ PyMySQLμ μ¬μ©ν μμλ κ²½μ° MySQLdbλ‘ λ체ν©λλ€.
μλ΅ ν΄ μ£Όμ μ κ°μ¬ν©λλ€. @felixfontein κ·νμ λ΅λ³μμ λ¬Έμ μ μμΈμ μ΄ν΄νλ λ° λμμ΄ λ μ μμ΅λλ€.
λͺ¨λ κ²μ κ·Έκ²μ΄ λ²κ·Έλ‘ κ°μ£Όλμ΄μΌνλμ§ μλ κ²μ
λλ€.
κ·Έλ λ€λ©΄ Ansible λͺ¨λμ μ€μΉλ λλΌμ΄λ²κ° MySQLdb λλ PyMySQL μΌ λ λͺ¨λμ΄ λμΌν λ°©μμΌλ‘ μ°κ²°λλλ‘ (μ§μ λ μ°κ²° μ΅μ
μ΄μλ κ²½μ°) PyMySQL κΈ°λ³Έ λμμ μ¬μ μ ν μ μμ΅λλ€.
CC @ Alexander198961
λ΄ λμλ§μ λ³΄λ €λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦νμμμ€.
cc @ Andersson007
λ΄ λμλ§μ λ³΄λ €λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦νμμμ€.
cc @kurtdavis
λ΄ λμλ§μ λ³΄λ €λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦νμμμ€.
μ κ²½μ°μλμ΄ ν΄κ²° λ°©λ²λ λμμ΄λμμ΅λλ€.
login_unix_socket: /var/run/mysqld/mysqld.sock
ansible 2.8.4
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/eldar/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
- name: Create database
mysql_db:
name: dbname
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
cc @tomaszkiewicz
λ΄ λμλ§μ λ³΄λ €λ©΄ μ¬κΈ°λ₯Ό ν΄λ¦νμμμ€.
μ΄κ²μ μ§μ ν΄ μ£Όμ @felixfontein μκ² κ°μ¬λ립λλ€!
λ§€κ° λ³μ login_unix_socket: /var/run/mysqld/mysqld.sock
μ§μ νλ©΄ λ¬Έμ κ° ν΄κ²°λμμ΅λλ€!
mysql_{user,db}
νμΌ tasks/databases.yml
, tasks/secure-installation.yml
λ° tasks/users.yml
μμ λͺ¨λ λͺ¨λ μμ
μ μ
λ°μ΄νΈν΄μΌνμ΅λλ€.
λλ μ΄κ²μ λ¬Έμ https://github.com/ansible/ansible/pull/66848 μμ μ€λͺ
νμ΅λλ€.
2.10κ³Ό ν¨κ» μΆμλ©λλ€.
close_me
κ°μ₯ μ μ©ν λκΈ
μκ² μ΅λλ€. μ°Ύμμ΅λλ€. 10 μ 2 μΌ # ansible-develμ λν ν λ‘ μ΄μλλ°, μ°κ²°μ λ¬Έμ κ°μλ μ¬μ©μ (μ²μμλ λΉ λ¬Έμμ΄ μνΈ μ²λ¦¬κ° λ¬Έμ λΌκ³ μμ¬ νμ)κ° λ§μΉ¨λ΄
login_unix_socket
λ₯Ό μ¬μ©ν΄μΌνλ€λ κ²μ μκ²λμμ΅λλ€. (μμμ μΈκΈ ν λ€λ₯Έ νλμΌλ‘ μΈν΄) κ·Έμκ² ν¨κ³Όκ°μμμ΅λλ€. λΆννλ κ·Έλ κ·Έκ²μ λν λ¬Έμ λ₯Ό λ§λ€μ§ μμμ΅λλ€.μ΄μ¨λ @epeli @anniemelen @ bchanan03 ,
login_unix_socket
μ΅μ μ μ¬μ©ν΄λ³΄κ³ λ¬Έμ κ° ν΄κ²°λλμ§ νμΈν΄ μ£Όμκ² μ΅λκΉ?