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
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
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: centos8kasutaja: 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
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
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: centos8kasutaja: 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
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: ubuntu20kasutaja: 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
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
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: ubuntu20kasutaja: 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
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.