Odgovorno

Kako nastaviti root geslo MySQL z uporabo programa Ansible

Kako nastaviti root geslo MySQL z uporabo programa Ansible
Večina distribucij Linuxa, vključno s CentOS / RHEL in Ubuntu / Debian, korenskega gesla MySQL ne nastavi samodejno. Ker korensko geslo MySQL ni samodejno nastavljeno, se lahko v konzolo MySQL prijavite kot root brez kakršnega koli gesla. To ni zelo dobro za varnost.

Na CentOS / RHEL lahko enostavno zaženete mysql_secure_installation ukaz za nastavitev korenskega gesla. Toda na Ubuntu 20.04 LTS, ta metoda ne deluje, ker MySQL uporablja drugačen vtičnik za preverjanje pristnosti za koren uporabnik.

Ta članek vam bo pokazal, kako nastavite korensko geslo MySQL na CentOS 8 in Ubuntu 20.04 LTS distribucije Linuxa z uporabo modulov Ansible.

Pogoji


Če želite preizkusiti primere iz tega članka,

1) V računalniku mora biti nameščen Ansible.

2) Imeti morate vsaj gostitelja CentOS / RHEL 8 ali Ubuntu 20.04 Gostitelj LTS, konfiguriran za Ansible avtomatizacijo.

V LinuxHintu je veliko člankov, namenjenih namestitvi Ansible in konfiguriranju gostiteljev za avtomatizacijo Ansible. Po potrebi jih lahko preverite.

Nastavitev imenika projektov

Preden nadaljujemo, bomo vzpostavili nov direktorij projekta Ansible, da bodo stvari nekoliko organizirane.

Če želite ustvariti imenik projekta mysql-root-pass / in vse zahtevane podimenike (v trenutnem delovnem imeniku) zaženite naslednji ukaz:

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

Ko je imenik projekta ustvarjen, se pomaknite do imenika projekta, kot sledi:

$ cd mysql-root-pass /

Ustvariti gostitelji inventarna datoteka, kot sledi:

$ nano gostitelji

Dodajte gostiteljska imena IP ali DNS vašega CentOS / RHEL 8 ali Ubuntu 20.04 LTS gostitelji v inventarni datoteki (en gostitelj v vrstico), kot je prikazano na spodnjem posnetku zaslona.

Ko končate, datoteko shranite s pritiskom na + X, čemur sledi Y in .

Tu sem ustvaril dve skupini, centos8, in ubuntu20. The centos8 group ima ime DNS mojega gostitelja CentOS 8, vm3.nodekite.com; in ubuntu20 group ima ime DNS mojega Ubuntu 20.04 LTS gostitelj, vm7.nodekite.com.

Ustvarite konfiguracijsko datoteko Ansible ansible.prim v imeniku vašega projekta, kot sledi:

$ nano ansible.prim

V vrstico vnesite naslednje vrstice ansible.prim mapa:

[privzeto]
inventar = gostitelji
host_key_checking = False

Ko končate, shranite ansible.prim s pritiskom na + X, čemur sledi Y in .

Poskusite pingati vse gostitelje, ki ste jih dodali v svoj gostitelji inventarna datoteka, kot sledi:

$ ansible vse -u ansible -m ping

Kot lahko vidite, je moj gostitelj CentOS 8 (vm3.nodekite.com) in Ubuntu 20.04 LTS gostitelj (vm7.nodekite.com) dostopni.

Namestitev MySQL in nastavitev root gesla na CentOS / RHEL 8

Ta razdelek vam bo pokazal, kako namestite strežnik baz podatkov MySQL in nastavite korensko geslo na CentOS 8 z uporabo programa Ansible. Isti postopek bi moral delovati tudi na RHEL 8.

Ustvarite novo igro Ansible install_mysql_centos8.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / install_mysql_centos8.yaml

V vrstico vnesite naslednje vrstice install_mysql_centos8.yaml mapa:

- gostitelji: centos8
uporabnik: ansible
postati: Resnično
naloge:
- ime: Posodobi predpomnilnik repozitorija paketa DNF
dnf:
update_cache: True
- ime: Namestite strežnik MySQL na CentOS 8
dnf:
ime: strežnik mysql
stanje: prisotno
- ime: Namestite odjemalca MySQL na CentOS 8
dnf:
ime: mysql
stanje: prisotno
- ime: Prepričajte se, da se izvaja storitev mysqld
storitev:
ime: mysqld
stanje: začelo
omogočeno: True

- ime: Namestite knjižnico python3-PyMySQL
dnf:
ime: python3-PyMySQL
stanje: prisotno

Ko končate, pritisnite + X, čemur sledi Y in , shraniti install_mysql_centos8.yaml mapa.

Spodnja vrstica pove Ansibleju, naj zažene knjigo iger install_mysql_centos8.yaml na vsakem gostitelju v centos8 skupini.

Tukaj sem opredelil 5 nalog.

Prva naloga posodobi predpomnilnik skladišča paketov DNF CentOS 8 s pomočjo programa Ansible dnf modul.

Druga naloga namesti strežniški paket MySQL mysql-strežnik z uporabo Ansible dnf modul.

Tretja naloga namesti odjemalski paket MySQL mysql z uporabo Ansible dnf modul.

Četrta naloga zagotavlja, da mysqld storitev deluje in je bila dodana v zagon sistema, tako da se samodejno zažene ob zagonu.

Peta naloga namesti knjižnico Python 3 MySQL pymysql. To je potrebno za dostop do MySQL iz Ansible.

Zaženite install_mysql_centos8.yaml playbook, kot sledi:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Kot lahko vidite, knjigo iger install_mysql_centos8.yaml uspešno tekel.

Na svojem gostitelju CentOS 8 lahko do MySQL dostopam kot koren uporabnik brez kakršnega koli gesla, kot lahko vidite na spodnjem posnetku zaslona:

$ sudo mysql -u root

Zdaj, ko je strežnik MySQL nameščen, je čas, da nastavite korensko geslo za strežnik MySQL.

Ustvarite novo datoteko spremenljivke skupine centos8 (v group_vars / imenik) za centos8 skupina, kot sledi:

$ nano group_vars / centos8

Dodajte novo spremenljivko mysql_pass s korenskim geslom (v mojem primeru, skrivnost), ki ga želite nastaviti, kot je prikazano na spodnjem posnetku zaslona.

Ko končate, pritisnite + X, čemur sledi Y in , shranite datoteko.

Ustvari novo knjigo iger set_root_pass_centos8.yaml z naslednjim ukazom:

$ nano playbooks / set_root_pass_centos8.yaml

V vrstico vnesite naslednje vrstice set_root_pass_centos8.yaml mapa:

- gostitelji: centos8
uporabnik: ansible
postati: Resnično
naloge:
- ime: Nastavite korensko geslo MySQL
mysql_user:
login_host: 'localhost'
login_user: 'root'
geslo za prijavo: "
ime: 'root'
geslo: 'mysql_pass'
stanje: prisotno

Ko končate, pritisnite + X, čemur sledi Y in , shraniti set_root_pass_centos8.yaml mapa.

Ta knjiga uporablja mysql_user Ansible modul za nastavitev korenskega gesla MySQL.

The login_host, login_user, in geslo za prijavo možnosti mysql_user Modul Ansible se uporablja za nastavitev trenutnega imena gostiteljskega imena MySQL, uporabniškega imena in gesla. Privzeto je ime gostiteljskega imena MySQL (login_host) ali je lokalni gostitelj, uporabniško ime za prijavo (login_user) ali je koren, in prijavo geslo (geslo za prijavo) je prazno (") na CentOS 8.

The geslo možnost mysql_user Modul Ansible se uporablja za nastavitev novega korenskega gesla MySQL tukaj. Korensko geslo MySQL bo vrednost datoteke mysql_pass spremenljivka skupine, ki je bila nastavljena prej.

Zaženite knjigo iger set_root_pass_centos8.yaml z naslednjim ukazom:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

Kot je razvidno iz spodnjega posnetka zaslona:

Kot lahko vidite, se na strežnik MySQL ne morem več prijaviti brez korenskega gesla.

Če se želite prijaviti v strežnik MySQL kot koren uporabnik z geslom, zaženite naslednji ukaz na gostitelju CentOS 8:

$ sudo mysql -u root -p

Vnesite korensko geslo, ki ste ga nastavili z Ansible, in pritisnite .

V strežnik MySQL bi morali biti prijavljeni kot koren uporabnik.

Namestitev MySQL in nastavitev korenskega gesla v Ubuntu 20.04 LTS

Ta razdelek vam bo pokazal, kako namestite strežnik baz podatkov MySQL in nastavite korensko geslo v Ubuntu 20.04 LTS z uporabo Ansible.

Ustvarite novo igro Ansible install_mysql_ubuntu20.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / install_mysql_ubuntu20.yaml

V vrstico vnesite naslednje vrstice install_mysql_ubuntu20.yaml mapa:

- gostitelji: ubuntu20
uporabnik: ansible
postati: Resnično
naloge:
- ime: Posodobi predpomnilnik repozitorija paketa APT
primeren:
update_cache: True
- ime: Namestite strežnik MySQL na Ubuntu 20.04 LTS
primeren:
ime: strežnik mysql
stanje: prisotno
- ime: Namestite odjemalca MySQL v Ubuntu 20.04 LTS
primeren:
ime: mysql-odjemalec
stanje: prisotno
- ime: Prepričajte se, da se izvaja storitev mysql
storitev:
ime: mysql
stanje: začelo
omogočeno: True
- ime: Namestite knjižnico python3-pymysql
primeren:
ime: python3-pymysql
stanje: prisotno

Ko končate, pritisnite + X, čemur sledi Y in , shraniti install_mysql_ubuntu20.yaml mapa.

Naslednja vrstica pove Ansibleju, da zažene igro install_mysql_ubuntu20.yaml na vsakem gostitelju v ubuntu20 skupina:

Tukaj sem opredelil 5 nalog.

Prvo opravilo posodobi predpomnilnik shrambe paketov APT Ubuntu 20.04 LTS z uporabo Ansible apt modul.

Druga naloga namesti strežniški paket MySQL mysql-strežnik z uporabo Ansible apt modul.

Tretja naloga namesti odjemalski paket MySQL mysql z uporabo Ansible apt modul.

Četrta naloga zagotavlja, da mysql storitev deluje in je bila dodana v zagon sistema, tako da se samodejno zažene ob zagonu.

Peta naloga namesti knjižnico Python 3 MySQL pymysql. To je potrebno za dostop do MySQL s strani Ansible.

Zaženite install_mysql_ubuntu20.yaml playbook, kot sledi:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Kot lahko vidite, knjigo iger install_mysql_ubuntu20.yaml uspešno tekel.

Na mojem Ubuntu 20.04 LTS gostitelj, do MySQL-a lahko dostopam kot koren uporabnik brez kakršnega koli gesla, kot lahko vidite na spodnjem posnetku zaslona.

$ sudo mysql -u root

Zdaj, ko je strežnik MySQL nameščen, je čas, da nastavite korensko geslo za strežnik MySQL.

Ustvarite novo datoteko spremenljivke skupine ubuntu20 (v group_vars / imenik) za ubuntu20 skupina, kot sledi:

$ nano group_vars / ubuntu20

Dodajte novo spremenljivko, mysql_pass, s korenskim geslom (v mojem primeru, zelo tajno), ki bi ga radi nastavili, kot je prikazano na spodnjem posnetku zaslona.

Ko končate, pritisnite + X, čemur sledi Y in , shranite datoteko.

Ustvari novo knjigo iger set_root_pass_ubuntu20.yaml z naslednjim ukazom:

$ nano playbooks / set_root_pass_ubuntu20.yaml

V vrstico vnesite naslednje vrstice set_root_pass_ubuntu20.yaml mapa:

- gostitelji: ubuntu20
uporabnik: ansible
postati: Resnično
naloge:
- ime: Spremenite vtičnik za preverjanje pristnosti korenskega uporabnika MySQL v mysql_native_password
lupina: mysql -u root -e 'POSODOBI mysql.uporabniški SET plugin = "mysql_native_password"
KJE uporabnik = "root" IN gostitelj = "localhost" '
- ime: Flush Privileges
lupina: mysql -u root -e 'FLUSH PRIVILEGES'
- ime: Nastavite korensko geslo MySQL
mysql_user:
login_host: 'localhost'
login_user: 'root'
geslo za prijavo: "
ime: 'root'
geslo: 'mysql_pass'
stanje: prisotno

Ko končate, pritisnite + X, čemur sledi Y in , shraniti set_root_pass_ubuntu20.yaml mapa.

Tu sem opredelil tri naloge.

Prvo opravilo spremeni vtičnik za preverjanje pristnosti MySQL koren uporabnik iz auth_socket do mysql_native_password.

Druga naloga znova naloži vse privilegije.

Tretja naloga uporablja mysql_user Ansible modul za nastavitev korenskega gesla MySQL.

V tretji nalogi je login_host, login_user, in geslo za prijavo možnosti mysql_user Modul Ansible se uporablja za nastavitev trenutnega imena gostiteljskega imena MySQL, uporabniškega imena in gesla. Privzeto je ime gostiteljskega imena MySQL (login_host) je lokalni gostitelj, uporabniško ime za prijavo (login_user) je koren, in prijavo geslo (geslo za prijavo) je prazno (") v sistemu.

Tukaj geslo možnost mysql_user Modul Ansible se uporablja za nastavitev novega korenskega gesla MySQL. Korensko geslo MySQL bo vrednost datoteke mysql_pass spremenljivka skupine, ki sem jo nastavil prej, v group_vars / ubuntu20 mapa.

Zaženite knjigo iger set_root_pass_ubuntu20.yaml z naslednjim ukazom:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

Kot je razvidno iz spodnjega posnetka zaslona, ​​je knjiga z igrami tekla uspešno:

Kot lahko vidite, se na strežnik MySQL ne morem več prijaviti brez korenskega gesla.

$ sudo mysql -u root

Če se želite z nastavljenim geslom prijaviti v strežnik MySQL kot korenski uporabnik, na svojem Ubuntu 20 zaženite naslednji ukaz.04 LTS gostitelj:

$ sudo mysql -u root -p

Vnesite korensko geslo, ki ste ga nastavili z uporabo programa Ansible, in pritisnite .

V strežnik MySQL bi morali biti prijavljeni kot korenski uporabnik.

Zaključek

Ta članek vam je pokazal, kako namestite strežnik MySQL in nastavite korensko geslo MySQL na CentOS 8 in Ubuntu 20.04 LTS distribucije Linuxa z uporabo programa Ansible. Ta članek je uporabil mysql_user Odgovorni modul za nastavitev korenskega gesla MySQL. Ta modul lahko uporabite za spreminjanje korenskega gesla MySQL, ustvarjanje novih uporabnikov MySQL in pred tem veliko več funkcij za upravljanje uporabnikov.

Za več informacij o mysql_user modul, preverite uradno dokumentacijo modula mysql_user.

Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...