Odgovorno

Kako postaviti root lozinku MySQL koristeći Ansible

Kako postaviti root lozinku MySQL koristeći Ansible
Većina Linux distribucija, uključujući CentOS / RHEL i Ubuntu / Debian, ne postavljaju MySQL root lozinku automatski. Kako se MySQL lozinka za root ne postavlja automatski, na MySQL konzolu možete se prijaviti kao root bez lozinke. To nije dobro za sigurnost.

Na CentOS / RHEL možete lako pokrenuti mysql_secure_installation naredba za postavljanje root lozinke. Ali na Ubuntu 20.04 LTS, ova metoda ne radi, jer MySQL koristi drugačiji dodatak za provjeru autentičnosti za korijen korisnik.

Ovaj će vam članak pokazati kako postaviti MySQL root lozinku na CentOS 8 i Ubuntu 20.04 LTS Linux distribucije korištenjem modula Ansible.

Preduvjeti


Ako želite isprobati primjere sadržane u ovom članku,

1) Na računalu morate imati instaliran Ansible.

2) Morate imati najmanje CentOS / RHEL 8 host ili Ubuntu 20.04 LTS domaćin konfiguriran za Ansible automatizaciju.

Na LinuxHintu postoji mnogo članaka posvećenih instaliranju programa Ansible i konfiguriranju hostova za automatizaciju programa Ansible. Možete ih provjeriti ako je potrebno.

Postavljanje direktorija projekata

Prije nego što nastavimo dalje, postavit ćemo novi direktorij projekata Ansible, samo da stvari budu malo organizirane.

Za stvaranje direktorija projekta mysql-root-pass / i sve potrebne poddirektorijume (u vašem trenutnom radnom direktoriju), pokrenite sljedeću naredbu:

$ mkdir -pv mysql-root-pass / playbooks, host_vars, group_vars

Jednom kad se kreira direktorij projekta, prijeđite na direktorij projekta, kako slijedi:

$ cd mysql-root-pass /

Stvoriti domaćini inventarna datoteka, kako slijedi:

$ nano domaćini

Dodajte IP ili DNS imena hosta svog CentOS / RHEL 8 ili Ubuntu 20.04 LTS hostova u datoteci inventara (jedan host u retku), kao što je prikazano na snimci zaslona u nastavku.

Nakon što završite, datoteku spremite pritiskom na + x, nakon čega slijedi Y i .

Evo, stvorio sam dvije grupe, centos8, i ubuntu20. The centos8 grupa ima DNS ime mog CentOS 8 hosta, vm3.nodekite.com; i ubuntu20 grupa ima DNS ime mog Ubuntu 20.04 LTS domaćin, vm7.nodekite.com.

Stvorite konfiguracijsku datoteku Ansible ansible.usp u vašem direktoriju projekta, kako slijedi:

$ nano ansible.usp

Utipkajte sljedeće retke u ansible.usp datoteka:

[zadane postavke]
inventar = domaćini
host_key_checking = Netačno

Nakon što završite, spremite ansible.usp datoteku pritiskom na + x, nakon čega slijedi Y i .

Pokušajte pingati sve hostove koje ste dodali u svoj domaćini inventarna datoteka, kako slijedi:

$ ansible sve -u ansible -m ping

Kao što vidite, moj CentOS 8 domaćin (vm3.nodekite.com) i Ubuntu 20.04 LTS domaćin (vm7.nodekite.com) su dostupni.

Instaliranje MySQL-a i postavljanje root lozinke na CentOS / RHEL 8

Ovaj će vam odjeljak pokazati kako instalirati MySQL poslužitelj baze podataka i postaviti root lozinku na CentOS 8 pomoću Ansible. Isti postupak trebao bi raditi i na RHEL 8.

Stvorite novu knjigu odgovora Ansible install_mysql_centos8.yaml u igraonice / direktorij, kako slijedi:

$ nano playbooks / install_mysql_centos8.yaml

Utipkajte sljedeće retke u install_mysql_centos8.yaml datoteka:

- domaćini: centos8
korisnik: ansible
postati: Istina
zadaci:
- ime: Ažuriranje predmemorije spremišta DNF paketa
dnf:
update_cache: Tačno
- ime: Instalirajte MySQL poslužitelj na CentOS 8
dnf:
ime: mysql-poslužitelj
stanje: prisutno
- ime: Instalirajte MySQL klijent na CentOS 8
dnf:
naziv: mysql
stanje: prisutno
- ime: Provjerite radi li usluga mysqld
servis:
naziv: mysqld
stanje: započeto
omogućeno: Tačno

- ime: Instalirajte knjižnicu python3-PyMySQL
dnf:
ime: python3-PyMySQL
stanje: prisutno

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti install_mysql_centos8.yaml datoteka.

Redak u nastavku govori Ansibleu da pokrene knjigu s igrama install_mysql_centos8.yaml na svakom domaćinu u centos8 skupina.

Ovdje sam definirao 5 zadataka.

Prvi zadatak ažurira predmemoriju spremišta DNF paketa CentOS 8 koristeći Ansible dnf modul.

Drugi zadatak instalira MySQL poslužiteljski paket mysql-poslužitelj koristeći Ansible dnf modul.

Treći zadatak instalira MySQL klijentski paket mysql koristeći Ansible dnf modul.

Četvrti zadatak osigurava da mysqld usluga je pokrenuta i dodana je prilikom pokretanja sustava tako da se automatski pokreće prilikom pokretanja.

Peti zadatak instalira Python 3 MySQL knjižnicu pymysql. To je potrebno za pristup MySQL-u iz programa Ansible.

Pokrenite install_mysql_centos8.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Kao što vidite, igrana knjiga install_mysql_centos8.yaml uspješno trčao.

Na svom CentOS 8 domaćinu, MySQL-u mogu pristupiti kao korijen korisnik bez ikakve lozinke, kao što možete vidjeti na snimci zaslona u nastavku:

$ sudo mysql -u korijen

Sada kada je instaliran MySQL poslužitelj, vrijeme je da postavite root lozinku za MySQL poslužitelj.

Stvorite novu datoteku varijable grupe centos8 (u group_vars / imenik) za centos8 skupina, kako slijedi:

$ nano group_vars / centos8

Dodajte novu varijablu mysql_pass s root lozinkom (u mom slučaju, tajna) koji biste željeli postaviti, kao što je prikazano na snimci zaslona u nastavku.

Kada završite, pritisnite + x, nakon čega slijedi Y i , za spremanje datoteke.

Stvorite novu knjigu pjesama set_root_pass_centos8.yaml sa sljedećom naredbom:

$ nano playbooks / set_root_pass_centos8.yaml

Utipkajte sljedeće retke u set_root_pass_centos8.yaml datoteka:

- domaćini: centos8
korisnik: ansible
postati: Istina
zadaci:
- ime: Postavite MySQL root lozinku
mysql_user:
login_host: 'localhost'
login_user: 'root'
lozinka: "
ime: 'korijen'
lozinka: 'mysql_pass'
stanje: prisutno

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti set_root_pass_centos8.yaml datoteka.

Ova knjiga koristi mysql_user Odgovorni modul za postavljanje MySQL root lozinke.

The login_host, login_user, i lozinka mogućnosti mysql_user Modul Ansible koristi se za postavljanje trenutnog imena hosta za prijavu na MySQL, korisničkog imena i lozinke. Prema zadanim postavkama MySQL ime hosta za prijavu (login_host) je lokalnihost, korisničko ime za prijavu (login_user) je korijen, i prijava zaporka (lozinka) prazno je (") na CentOS 8.

The zaporka mogućnost mysql_user Modul Ansible koristi se za postavljanje nove MySQL root lozinke, ovdje. Korijenska lozinka MySQL bit će vrijednost datoteke mysql_pass varijabla grupe koja je postavljena ranije.

Pokrenite knjigu s igrama set_root_pass_centos8.yaml sa sljedećom naredbom:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

Knjiga se uspješno pokrenula, kao što se vidi na snimci zaslona u nastavku:

Kao što vidite, više se ne mogu prijaviti na MySQL poslužitelj bez root lozinke.

Da biste se prijavili na MySQL poslužitelj kao korijen korisnik s lozinkom, pokrenite sljedeću naredbu na vašem CentOS 8 hostu:

$ sudo mysql -u korijen -p

Upišite root lozinku koju ste postavili pomoću Ansible i pritisnite .

Na MySQL poslužitelj trebali biste biti prijavljeni kao korijen korisnik.

Instaliranje MySQL-a i postavljanje root lozinke na Ubuntu 20.04 LTS

Ovaj će vam odjeljak pokazati kako instalirati MySQL poslužitelj baze podataka i postaviti root lozinku na Ubuntu 20.04 LTS koristeći Ansible.

Stvorite novu knjigu odgovora Ansible install_mysql_ubuntu20.yaml u igraonice / direktorij, kako slijedi:

$ nano playbooks / install_mysql_ubuntu20.yaml

Utipkajte sljedeće retke u install_mysql_ubuntu20.yaml datoteka:

- domaćini: ubuntu20
korisnik: ansible
postati: Istina
zadaci:
- ime: Ažuriranje predmemorije spremišta APT paketa
prikladan:
update_cache: Tačno
- ime: Instalirajte MySQL poslužitelj na Ubuntu 20.04 LTS
prikladan:
ime: mysql-poslužitelj
stanje: prisutno
- ime: Instalirajte MySQL klijent na Ubuntu 20.04 LTS
prikladan:
ime: mysql-klijent
stanje: prisutno
- ime: Provjerite radi li mysql usluga
servis:
naziv: mysql
stanje: započeto
omogućeno: Tačno
- ime: Instalirajte knjižnicu python3-pymysql
prikladan:
ime: python3-pymysql
stanje: prisutno

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti install_mysql_ubuntu20.yaml datoteka.

Sljedeći redak govori Ansibleu da pokrene knjigu s igrama install_mysql_ubuntu20.yaml na svakom domaćinu u ubuntu20 skupina:

Ovdje sam definirao 5 zadataka.

Prvi zadatak ažurira predmemoriju spremišta APT paketa Ubuntu 20.04 LTS koristeći Ansible prikladan modul.

Drugi zadatak instalira MySQL poslužiteljski paket mysql-poslužitelj koristeći Ansible prikladan modul.

Treći zadatak instalira MySQL klijentski paket mysql koristeći Ansible prikladan modul.

Četvrti zadatak osigurava da mysql usluga je pokrenuta i dodana je prilikom pokretanja sustava tako da se automatski pokreće prilikom pokretanja.

Peti zadatak instalira Python 3 MySQL knjižnicu pymysql. To je potrebno za pristup MySQL-u iz programa Ansible.

Pokrenite install_mysql_ubuntu20.yaml playbook, kako slijedi:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Kao što vidite, igrana knjiga install_mysql_ubuntu20.yaml uspješno trčao.

Na mom Ubuntu 20.04 LTS domaćin, MySQL-u mogu pristupiti kao korijen korisnik bez ikakve lozinke, kao što možete vidjeti na snimci zaslona u nastavku.

$ sudo mysql -u korijen

Sada kada je instaliran MySQL poslužitelj, vrijeme je da postavite root lozinku za MySQL poslužitelj.

Stvorite novu datoteku varijable grupe ubuntu20 (u group_vars / imenik) za ubuntu20 skupina, kako slijedi:

$ nano group_vars / ubuntu20

Dodajte novu varijablu, mysql_pass, s root lozinkom (u mom slučaju, vrlo tajno) koji biste željeli postaviti, kao što je prikazano na snimci zaslona u nastavku.

Kada završite, pritisnite + x, nakon čega slijedi Y i , za spremanje datoteke.

Stvorite novu knjigu pjesama set_root_pass_ubuntu20.yaml sa sljedećom naredbom:

$ nano playbooks / set_root_pass_ubuntu20.yaml

Utipkajte sljedeće retke u set_root_pass_ubuntu20.yaml datoteka:

- domaćini: ubuntu20
korisnik: ansible
postati: Istina
zadaci:
- ime: Promijenite dodatak za provjeru autentičnosti korijenskog korisnika MySQL-a u mysql_native_password
ljuska: mysql -u root -e 'AŽURIRANJE mysql.korisnički SET dodatak = "mysql_native_password"
GDJE je korisnik = "root" I host = "localhost" '
- naziv: Flush Privileges
ljuska: mysql -u korijen -e 'PRIVILEGESI ZA ISPIRANJE'
- ime: Postavite MySQL root lozinku
mysql_user:
login_host: 'localhost'
login_user: 'root'
lozinka: "
ime: 'korijen'
lozinka: 'mysql_pass'
stanje: prisutno

Kada završite, pritisnite + x, nakon čega slijedi Y i , spasiti set_root_pass_ubuntu20.yaml datoteka.

Ovdje sam definirao tri zadatka.

Prvi zadatak mijenja dodatak za provjeru autentičnosti MySQL-a korijen korisnik iz auth_socket do mysql_native_password.

Drugi zadatak ponovno učitava sve privilegije.

Treći zadatak koristi mysql_user Odgovorni modul za postavljanje MySQL root lozinke.

U trećem zadatku, login_host, login_user, i lozinka mogućnosti mysql_user Modul Ansible koristi se za postavljanje trenutnog imena hosta za prijavu na MySQL, korisničkog imena i lozinke. Prema zadanim postavkama MySQL ime hosta za prijavu (login_host) je lokalnihost, korisničko ime za prijavu (login_user) je korijen, i prijava zaporka (lozinka) prazno je (") na sustavu.

Evo, zaporka mogućnost mysql_user Modul Ansible koristi se za postavljanje nove MySQL root lozinke. Korijenska lozinka MySQL bit će vrijednost datoteke mysql_pass varijabla grupe, koju sam ranije postavio u group_vars / ubuntu20 datoteka.

Pokrenite knjigu s igrama set_root_pass_ubuntu20.yaml sa sljedećom naredbom:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

Knjiga priručnika uspješno se izvodila, kao što možete vidjeti na donjem snimku zaslona:

Kao što vidite, više se ne mogu prijaviti na MySQL poslužitelj bez root lozinke.

$ sudo mysql -u korijen

Da biste se na MySQL poslužitelj prijavili kao root korisnik s postavljenom lozinkom, pokrenite sljedeću naredbu na vašem Ubuntu 20.04 LTS domaćin:

$ sudo mysql -u korijen -p

Upišite root lozinku koju ste postavili pomoću Ansible i pritisnite .

Trebali biste biti prijavljeni na MySQL poslužitelj kao root korisnik.

Zaključak

Ovaj vam je članak pokazao kako instalirati MySQL poslužitelj i postaviti MySQL root lozinku na CentOS 8 i Ubuntu 20.04 LTS Linux distribucije korištenjem Ansible. Ovaj je članak koristio mysql_user Odgovorni modul za postavljanje MySQL root lozinke. Ovaj modul možete koristiti za promjenu MySQL root lozinke, stvaranje novih MySQL korisnika i prije mnogo više funkcija za upravljanje korisnicima.

Za više informacija o mysql_user modul, provjerite službenu dokumentaciju modula mysql_user.

Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...