Tudja valaki, hogyan lehet ansible-ben a helyi mysql adatbázist elérni? A playbook adatokat gyűjt össze a szerverekről, és az eredményt szeretném egy helyi adatbázisban tárolni.
A következő task nem működik, hitelesítési hibával visszadobja - gondolom, mert a remote szerveren akarja futtatni:
- name: Update in local database
become: yes
community.mysql.mysql_query:
login_db: "{{ databasename }}"
login_unix_socket: /run/mysqld/mysqld.sock
query: "UPDATE {{ tablename }} SET {{ fieldname }}='{{ value }}' WHERE `id`={{ ID }}"
delegate_to: localhost
Valaki csinált már ilyet? Van rá megoldás?
- 200 megtekintés
Hozzászólások
Nem csak annyi a baj, hogy kéne neki hitelesytési adat? így hirtelen három dolgot látok a doksiba amivel authentikálni lehet:
- vagy rakd bele a
~/.my.cnf-be
The default config file,
~/.my.cnf
, if it exists, will be read, even if config_file is not specified. - config_file-al bárhová máshová, akár ha van default root /etc/mysql alatt
- login_password és login_user
- A hozzászóláshoz be kell jelentkezni
Bár socket alapon hitelesít, megpróbáltam a login_user, login_password hitelesítést is. Mivel itt nem kell a root jog, become: no-val.
És így működik! Végül kiderült, hogy nem is a mysql hitelesítéssel volt gondja, hanem a become hitelesítéssel.
Köszönöm.
- A hozzászóláshoz be kell jelentkezni
+1
Valamint szerintem localhostra probal csatlakozni , az a defaultja szoval ha a delegate_to -val localhostra iranyitod akkor valoszinuleg jo helyen keresi.
- A hozzászóláshoz be kell jelentkezni