Võimalik

Kuidas määrata MySQL-i juurparooli rakenduse Ansible abil

Kuidas määrata MySQL-i juurparooli rakenduse Ansible abil
Enamik Linuxi jaotusi, sealhulgas CentOS / RHEL ja Ubuntu / Debian, ei määra MySQL-i juurparooli automaatselt. Kuna MySQL-i juurparooli ei määrata automaatselt, saab MySQL-i konsooli juurena sisse logida ilma paroolita. See pole turvalisuse jaoks eriti hea.

CentOS / RHEL-is saate hõlpsasti käivitada mysql_secure_installation käsk juurparooli seadistamiseks. Kuid Ubuntu 20-s.04 LTS, see meetod ei tööta, kuna MySQL kasutab faili juur kasutaja.

See artikkel näitab teile, kuidas seadistada MySQL-i juurparool CentOS 8 ja Ubuntu 20.04 LTS Linuxi jaotused Ansible moodulite abil.

Eeldused


Kui soovite proovida selles artiklis toodud näiteid,

1) Teie arvutisse peab olema installitud Ansible.

2) Teil peab olema vähemalt CentOS / RHEL 8 host või Ubuntu 20.04 LTS-i host on konfigureeritud automaatse automaatika jaoks.

LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele ja hostide konfigureerimisele Ansible'i automatiseerimiseks. Vajadusel võite neid vaadata.

Projektikataloogi seadistamine

Enne kui edasi liikuda, loome uue Ansible projekti kataloogi, et asju natuke korrastada.

Projektikataloogi loomiseks mysql-root-pass / ja kõik vajalikud alamkataloogid (teie praeguses töökataloogis), käivitage järgmine käsk:

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

Kui projekti kataloog on loodud, navigeerige projekti kataloogi järgmiselt:

$ cd mysql-root-pass /

Loo võõrustajad varude toimik järgmiselt:

$ nano hostid

Lisage oma CentOS / RHEL 8 või Ubuntu 20 hosti IP või DNS-i nimed.04 LTS-i hostid inventeerimisfailis (üks host rea kohta), nagu on näidatud alloleval ekraanipildil.

Kui olete lõpetanud, salvestage fail, vajutades + X, järgneb Y ja .

Siin olen loonud kaks rühma, sentos8, ja ubuntu20. The sentos8 rühmal on minu CentOS 8 hosti DNS-nimi, vm3.nodekite.com; ja ubuntu20 grupil on minu Ubuntu 20 DNS-i nimi.04 LTS-i host, vm7.nodekite.com.

Looge Ansible konfiguratsioonifail võimalik.vrd oma projekti kataloogis järgmiselt:

$ nano on võimalik.vrd

Tippige väljale järgmised read võimalik.vrd fail:

[vaikimisi]
inventar = hostid
host_key_checking = Vale

Kui olete valmis, salvestage võimalik.vrd faili vajutades + X, järgneb Y ja .

Proovige pingida kõiki hoste, mille olete oma kausta lisanud võõrustajad varude toimik järgmiselt:

$ ansible all -u ansible -m ping

Nagu näete, on minu CentOS 8 host (vm3.nodekite.com) ja Ubuntu 20.04 LTS-i host (vm7.nodekite.com) on juurdepääsetavad.

MySQL-i installimine ja juurparooli seadistamine CentOS / RHEL 8-le

See jaotis näitab teile, kuidas installida MySQL-i andmebaasiserver ja seadistada CentOS 8 juurparool, kasutades Ansible. Sama protseduur peaks töötama ka RHEL 8 puhul.

Looge uus Ansible playbook install_mysql_centos8.yaml aastal mänguraamatud / kataloogi järgmiselt:

8. $ nano playbooks / install_mysql_centos8.yaml

Tippige väljale järgmised read install_mysql_centos8.yaml fail:

- peremehed: centos8
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: värskendage DNF-i paketi hoidla vahemälu
dnf:
update_cache: Tõsi
- nimi: installige MySQL-server CentOS 8-sse
dnf:
nimi: mysql-server
olek: kohal
- nimi: installige MySQL klient CentOS 8-sse
dnf:
nimi: mysql
olek: kohal
- nimi: Veenduge, et mysqld-teenus töötab
teenus:
nimi: mysqld
riik: alustatud
lubatud: tõene

- nimi: installige python3-PyMySQL-i teek
dnf:
nimi: python3-PyMySQL
olek: kohal

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada install_mysql_centos8.yaml faili.

Allpool olev rida ütleb Ansible'ile, et ta peaks mängima raamatut install_mysql_centos8.yaml igal hostil sentos8 Grupp.

Siin olen määranud 5 ülesannet.

Esimese ülesandega värskendatakse CentOS 8 DNF-i paketi hoidla vahemälu, kasutades Ansible'i dnf moodul.

Teine ülesanne installib MySQL-i serveripaketi mysql-server kasutades Ansible dnf moodul.

Kolmas ülesanne installib MySQL-i kliendipaketi mysql kasutades Ansible dnf moodul.

Neljas ülesanne tagab, et mysqld teenus töötab ja see on lisatud süsteemi käivitusse, nii et see käivitub automaatselt käivitamisel.

Viies ülesanne installib Python 3 MySQL-i teegi pymysql. See on vajalik MySQL-i juurdepääsuks rakendusest Ansible.

Käivitage install_mysql_centos8.yaml järgmine raamat:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Nagu näete, mängukiri install_mysql_centos8.yaml jooksis edukalt.

Oma CentOS 8 hostil pääsen MySQL-ile juurde kui juur kasutaja ilma paroolita, nagu näete alloleval ekraanipildil:

$ sudo mysql -u juur

Nüüd, kui MySQL-server on installitud, on aeg seadistada MySQL-serveri juurparool.

Looge uus grupimuutuja fail sentos8 ( group_vars / kataloog) sentos8 järgmiselt:

$ nano group_vars / centos8

Lisage uus muutuja mysql_pass juurparooliga (minu puhul, saladus), mille soovite seadistada, nagu on näidatud alloleval ekraanipildil.

Kui olete lõpetanud, vajutage + X, järgneb Y ja , faili salvestamiseks.

Looge uus mänguraamat set_root_pass_centos8.yaml järgmise käsuga:

$ nano playbooks / set_root_pass_centos8.yaml

Tippige väljale järgmised read set_root_pass_centos8.yaml fail:

- peremehed: centos8
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: määrake MySQL-i juurparool
mysql_user:
login_host: 'localhost'
login_user: 'juur'
login_password: "
nimi: 'juur'
parool: 'mysql_pass'
olek: kohal

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada set_root_pass_centos8.yaml faili.

Selles mänguraamatus kasutatakse mysql_user Võimalik moodul MySQL-i juurparooli määramiseks.

The login_host, login_user, ja login_parool valikud mysql_user Ansible moodulit kasutatakse vastavalt praeguse MySQL-i sisselogimise hostinime, kasutajanime ja parooli määramiseks. Vaikimisi on MySQL-i sisselogimise hostinimi (login_host) on kohalik host, sisselogimise kasutajanimi (login_user) on juur, ja sisselogimine parool (login_parool) on tühi () CentOS 8-l.

The parool võimalus mysql_user Siin saab uue MySQL-i juurparooli määramiseks kasutada moodulit. MySQL-i juurparool on mysql_pass grupimuutuja, mis määrati varem.

Käivitage mänguraamat set_root_pass_centos8.yaml järgmise käsuga:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

Esiraamat jooksis edukalt, nagu on näha alloleval ekraanipildil:

Nagu näete, ei saa ma ilma juurparoolita enam MySQL-i serverisse sisse logida.

MySQL-i serverisse sisselogimiseks juur parooliga kasutaja, käivitage oma CentOS 8 hostil järgmine käsk:

$ sudo mysql -u root -p

Sisestage rakenduse Ansible abil määratud juurparool ja vajutage .

Peaksite olema MySQL-i serverisse sisse logitud kui juur kasutaja.

MySQL-i installimine ja juurparooli seadistamine Ubuntu 20-sse.04 LTS

See jaotis näitab teile, kuidas installida MySQL-i andmebaasiserver ja seadistada Ubuntu 20 juurparool.04 LTS, kasutades rakendust Ansible.

Looge uus Ansible playbook install_mysql_ubuntu20.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / install_mysql_ubuntu20.yaml

Tippige väljale järgmised read install_mysql_ubuntu20.yaml fail:

- hostid: ubuntu20
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: värskendage APT-paketi hoidla vahemälu
asjakohane:
update_cache: Tõsi
- nimi: installige MySQL-server Ubuntu 20-sse.04 LTS
asjakohane:
nimi: mysql-server
olek: kohal
- nimi: installige MySQL klient Ubuntu 20.04 LTS
asjakohane:
nimi: mysql-klient
olek: kohal
- nimi: Veenduge, et mysql-teenus töötab
teenus:
nimi: mysql
riik: alustatud
lubatud: tõene
- nimi: installige python3-pymysql teek
asjakohane:
nimi: python3-pymysql
olek: kohal

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada install_mysql_ubuntu20.yaml faili.

Järgmine rida annab Ansibleile käsu mängida raamatut install_mysql_ubuntu20.yaml igal hostil ubuntu20 Grupp:

Siin olen määranud 5 ülesannet.

Esimene ülesanne värskendab Ubuntu 20 APT paketi hoidla vahemälu.04 LTS, kasutades rakendust Ansible asjakohane moodul.

Teine ülesanne installib MySQL-i serveripaketi mysql-server kasutades Ansible asjakohane moodul.

Kolmas ülesanne installib MySQL-i kliendipaketi mysql kasutades Ansible asjakohane moodul.

Neljas ülesanne tagab, et mysql teenus töötab ja see on lisatud süsteemi käivitusse, nii et see käivitub automaatselt käivitamisel.

Viies ülesanne installib Python 3 MySQL-i teegi pymysql. See on vajalik MySQL-i juurdepääsuks rakendusest Ansible.

Käivitage install_mysql_ubuntu20.yaml järgmine raamat:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Nagu näete, mänguraamat install_mysql_ubuntu20.yaml jooksis edukalt.

Minu Ubuntu 20-l.04 LTS-i host, pääsen MySQL-ile juurde kui juur kasutaja ilma paroolita, nagu näete alloleval ekraanipildil.

$ sudo mysql -u juur

Nüüd, kui MySQL-server on installitud, on aeg seadistada MySQL-serveri juurparool.

Looge uus grupimuutuja fail ubuntu20 ( group_vars / kataloog) ubuntu20 järgmiselt:

$ nano group_vars / ubuntu20

Lisage uus muutuja, mysql_pass, juurparooliga (minu puhul, salajane), mille soovite seadistada, nagu on näidatud alloleval ekraanipildil.

Kui olete lõpetanud, vajutage + X, järgneb Y ja , faili salvestamiseks.

Looge uus mänguraamat set_root_pass_ubuntu20.yaml järgmise käsuga:

$ nano playbooks / set_root_pass_ubuntu20.yaml

Tippige väljale järgmised read set_root_pass_ubuntu20.yaml fail:

- hostid: ubuntu20
kasutaja: ansible
muutunud: Tõsi
ülesanded:
- nimi: muutke MySQL-i juurkasutaja autentimise pistikprogrammiks mysql_native_password
shell: mysql -u root -e 'UUENDAGE mysql.kasutaja SET plugin = "mysql_native_password"
WHERE kasutaja = "root" JA host = "kohalik host" '
- nimi: Flush privileegid
kest: mysql -u juur -e 'FLUSH PRIVILEGES'
- nimi: määrake MySQL-i juurparool
mysql_user:
login_host: 'localhost'
login_user: 'juur'
login_password: "
nimi: 'juur'
parool: 'mysql_pass'
olek: kohal

Kui olete lõpetanud, vajutage + X, järgneb Y ja , salvestada set_root_pass_ubuntu20.yaml faili.

Siin olen määranud kolm ülesannet.

Esimene ülesanne muudab MySQL-i autentimispluginat juur kasutaja pärit auth_socket kuni mysql_native_password.

Teine ülesanne laadib kõik õigused uuesti.

Kolmas ülesanne kasutab mysql_user Võimalik moodul MySQL-i juurparooli määramiseks.

Kolmandas ülesandes login_host, login_user, ja login_parool valikud mysql_user Ansible moodulit kasutatakse vastavalt praeguse MySQL-i sisselogimise hostinime, kasutajanime ja parooli määramiseks. Vaikimisi on MySQL-i sisselogimise hostinimi (login_host) on kohalik host, sisselogimise kasutajanimi (login_user) on juur, ja sisselogimine parool (login_parool) on tühi () süsteemis.

Siin, parool võimalus mysql_user Uue MySQL-i juurparooli määramiseks kasutatakse moodulit. MySQL-i juurparool on mysql_pass grupi muutuja, mille ma varem seadistasin group_vars / ubuntu20 faili.

Käivitage mänguraamat set_root_pass_ubuntu20.yaml järgmise käsuga:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

Esiraamat jooksis edukalt, nagu näete allolevalt ekraanipildilt:

Nagu näete, ei saa ma ilma juurparoolita enam MySQL-i serverisse sisse logida.

$ sudo mysql -u juur

Määratud parooliga juurkasutajana MySQL-i serverisse sisselogimiseks käivitage oma Ubuntu 20-s järgmine käsk.04 LTS-i host:

$ sudo mysql -u root -p

Sisestage rakenduse Ansible abil määratud juurparool ja vajutage .

Peaksite MySQL-i serverisse sisse logima juurkasutajana.

Järeldus

See artikkel näitas teile, kuidas installida MySQL-server ja määrata MySQL-i juurparool CentOS 8 ja Ubuntu 20 jaoks.04 LTS Linuxi jaotused rakendusega Ansible. Selles artiklis kasutati mysql_user Võimalik moodul MySQL-i juurparooli seadistamiseks. Selle mooduli abil saate muuta MySQL-i juurparooli, luua uusi MySQL-kasutajaid ja palju muid kasutajahalduse funktsioone.

Lisateavet mysql_user kontrollige mooduli mysql_user ametlikku dokumentatsiooni.

Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...
Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...