Negalima

Kaip nustatyti MySQL šakninį slaptažodį naudojant

Kaip nustatyti MySQL šakninį slaptažodį naudojant
Dauguma „Linux“ paskirstymų, įskaitant „CentOS / RHEL“ ir „Ubuntu / Debian“, „MySQL“ šakninio slaptažodžio nenustato automatiškai. Kadangi „MySQL“ šakninis slaptažodis nėra nustatomas automatiškai, galima prisijungti prie „MySQL“ konsolės kaip šaknies be jokio slaptažodžio. Tai nėra labai naudinga saugumui.

„CentOS / RHEL“ galite lengvai paleisti mysql_secure_installation komandą nustatyti pagrindinį slaptažodį. Bet „Ubuntu 20“.04 LTS, šis metodas neveikia, nes MySQL naudoja kitą autentifikavimo papildinį šaknis Vartotojas.

Šis straipsnis parodys, kaip nustatyti „MySQL“ šakninį slaptažodį „CentOS 8“ ir „Ubuntu 20“.04 „LTS Linux“ paskirstymai naudojant „Ansible“ modulius.

Būtinos sąlygos


Jei norite išbandyti šiame straipsnyje pateiktus pavyzdžius,

1) Savo kompiuteryje turite būti įdiegę „Ansible“.

2) Turite turėti bent „CentOS / RHEL 8“ pagrindinį kompiuterį arba „Ubuntu 20“.04 LTS pagrindinis kompiuteris sukonfigūruotas kaip galima automatizuoti.

„LinuxHint“ yra daug straipsnių, skirtų įdiegti „Ansible“ ir konfigūruoti „Ansible“ automatikos pagrindinius kompiuterius. Jei reikia, galite tai patikrinti.

Projektų katalogo nustatymas

Prieš eidami toliau, sukursime naują „Ansible“ projekto katalogą, kad viskas būtų šiek tiek sutvarkyta.

Norėdami sukurti projekto katalogą mysql-root-pass / ir visus reikalingus pakatalogius (dabartiniame darbo kataloge), vykdykite šią komandą:

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

Sukūrę projekto katalogą, eikite į projekto katalogą taip:

$ cd mysql-root-pass /

Sukurti šeimininkai atsargų byla taip:

$ nano šeimininkai

Pridėkite „CentOS / RHEL 8“ arba „Ubuntu 20“ pagrindinio kompiuterio IP arba DNS pavadinimus.04 LTS kompiuteriai inventoriaus faile (po vieną pagrindinį kompiuterį kiekvienoje eilutėje), kaip parodyta toliau pateiktame ekrano kopijoje.

Baigę išsaugokite failą paspausdami + X, paskui Y ir .

Čia aš sukūriau dvi grupes, centai8, ir ubuntu20. The centai8 grupė turi mano „CentOS 8“ kompiuterio DNS pavadinimą, vm3.nodekitas.com; ir ubuntu20 grupė turi mano „Ubuntu 20“ DNS pavadinimą.04 LTS vedėjas, vm7.nodekitas.com.

Sukurkite Ansible konfigūracijos failą įmanoma.plg savo projekto kataloge taip:

$ nano galima.plg

Įveskite šias eilutes įmanoma.plg failas:

[pagal nutylėjimą]
inventorius = šeimininkai
host_key_checking = Netiesa

Kai baigsite, išsaugokite įmanoma.plg failą paspausdami + X, paskui Y ir .

Pabandykite pinguoti visus pagrindinius kompiuterius, kuriuos pridėjote šeimininkai atsargų byla taip:

$ ansible all -u ansible -m ping

Kaip matote, mano „CentOS 8“ pagrindinis kompiuteris (vm3.nodekitas.com) ir „Ubuntu 20“.04 LTS vedėjas (vm7.nodekitas.com) yra prieinamos.

„MySQL“ diegimas ir pagrindinio slaptažodžio nustatymas „CentOS / RHEL 8“

Šiame skyriuje bus parodyta, kaip įdiegti „MySQL“ duomenų bazės serverį ir nustatyti pagrindinį slaptažodį „CentOS 8“ naudojant „Ansible“. Ta pati procedūra turėtų veikti ir RHEL 8.

Sukurkite naują „Ansible“ grojaraštį 8. įdiegti_mysql_centos.yaml viduje konors grojaraščiai / katalogą:

8. „$ nano“ grojaraščiai / install_mysql_centos.yaml

Įveskite šias eilutes 8. įdiegti_mysql_centos.yaml failas:

- šeimininkai: centai8
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: Atnaujinkite DNF paketo saugyklos talpyklą
DNF:
„update_cache“: tiesa
- pavadinimas: įdiekite „MySQL“ serverį „CentOS 8“
DNF:
pavadinimas: mysql-server
būsena: dabartis
- pavadinimas: įdiekite „MySQL“ klientą „CentOS 8“
DNF:
pavadinimas: mysql
būsena: dabartis
- pavadinimas: Įsitikinkite, kad veikia „mysqld“ paslauga
paslauga:
vardas: mysqld
būsena: prasidėjo
įjungta: tiesa

- pavadinimas: Įdiekite python3-PyMySQL biblioteką
DNF:
pavadinimas: python3-PyMySQL
būsena: dabartis

Baigę paspauskite + X, paskui Y ir , išsaugoti 8. įdiegti_mysql_centos.yaml failą.

Žemiau esančioje eilutėje „Ansible“ nurodoma paleisti pjesę 8. įdiegti_mysql_centos.yaml kiekvienam kompiuteriui centai8 grupė.

Čia aš apibrėžiau 5 užduotis.

Pirmoji užduotis atnaujina „CentOS 8“ DNF paketų saugyklos talpyklą naudodama „Ansible“ dnf modulis.

Antroji užduotis įdiegia „MySQL“ serverio paketą mysql-serveris naudojant Ansible dnf modulis.

Trečioji užduotis įdiegia „MySQL“ kliento paketą mysql naudojant Ansible dnf modulis.

Ketvirtoji užduotis užtikrina, kad mysqld paslauga veikia ir kad ji buvo pridėta prie sistemos paleidimo, kad ji automatiškai prasidėtų įkrovos metu.

Penktoji užduotis įdiegia „Python 3 MySQL“ biblioteką pymysql. Tai reikalinga norint pasiekti „MySQL“ iš „Ansible“.

Paleiskite 8. įdiegti_mysql_centos.yaml pjesė:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Kaip matote, pjesių knygelė 8. įdiegti_mysql_centos.yaml bėgo sėkmingai.

Savo „CentOS 8“ pagrindiniame kompiuteryje galiu pasiekti „MySQL“ kaip šaknis vartotojas be jokio slaptažodžio, kaip matote toliau pateiktoje ekrano kopijoje:

$ sudo mysql -u šaknis

Dabar, kai įdiegtas „MySQL“ serveris, laikas nustatyti „MySQL“ serverio pagrindinį slaptažodį.

Sukurkite naują grupės kintamojo failą centai8 (viduje konors group_vars / katalogas) centai8 grupei:

$ nano group_vars / centos8

Pridėkite naują kintamąjį mysql_pass su root slaptažodžiu (mano atveju, paslaptis), kurį norite nustatyti, kaip parodyta toliau pateiktoje ekrano kopijoje.

Baigę paspauskite + X, paskui Y ir , kad išsaugotumėte failą.

Sukurkite naują pjesę 8.yaml su tokia komanda:

8. „$ nano playbooks / set_root_pass_centos“.yaml

Įveskite šias eilutes 8.yaml failas:

- šeimininkai: centai8
vartotojas: ansible
tapti: Tiesa
užduotys:
- vardas: nustatykite „MySQL“ šakninį slaptažodį
mysql_user:
login_host: 'localhost'
login_user: 'šaknis'
prisijungimo slaptažodis: "
pavadinimas: 'šaknis'
slaptažodis: „mysql_pass“
būsena: dabartis

Baigę paspauskite + X, paskui Y ir , išsaugoti 8.yaml failą.

Šioje knygelėje naudojami mysql_user Galimas modulis, skirtas nustatyti MySQL šakninį slaptažodį.

The login_host, login_user, ir prisijungimo slaptažodis parinktys mysql_user Galimas modulis naudojamas nustatyti dabartinį „MySQL“ prisijungimo pagrindinio kompiuterio vardą, vartotojo vardą ir slaptažodį. Pagal numatytuosius nustatymus „MySQL“ prisijungimo pagrindinio kompiuterio vardas (login_host) yra vietinis šeimininkas, prisijungimo vartotojo vardas (login_user) yra šaknis, ir prisijungimo vardas Slaptažodis (prisijungimo slaptažodis) Yra tuščias () „CentOS 8“.

The Slaptažodis variantas mysql_user Naujas „MySQL“ šakninio slaptažodžio nustatymui naudojamas išmanusis modulis. MySQL šakninis slaptažodis bus mysql_pass grupės kintamasis, kuris buvo nustatytas anksčiau.

Paleiskite pjesę 8.yaml su tokia komanda:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

Knyga sėkmingai paleista, kaip parodyta žemiau esančiame paveikslėlyje:

Kaip matote, nebegaliu prisijungti prie „MySQL“ serverio be pagrindinio slaptažodžio.

Norėdami prisijungti prie „MySQL“ serverio kaip šaknis vartotojui su slaptažodžiu, CentOS 8 pagrindiniame kompiuteryje vykdykite šią komandą:

$ sudo mysql -u šaknis -p

Įveskite pagrindinį slaptažodį, kurį nustatėte naudodami „Ansible“, ir paspauskite .

Turėtumėte būti prisijungę prie MySQL serverio kaip šaknis Vartotojas.

„MySQL“ diegimas ir pagrindinio slaptažodžio nustatymas „Ubuntu 20“.04 LTS

Šiame skyriuje bus parodyta, kaip įdiegti „MySQL“ duomenų bazės serverį ir nustatyti pagrindinį slaptažodį „Ubuntu 20“.04 LTS naudojant „Ansible“.

Sukurkite naują „Ansible playbook“ install_mysql_ubuntu20.yaml viduje konors grojaraščiai / katalogą:

$ nano grojaraščiai / install_mysql_ubuntu20.yaml

Įveskite šias eilutes install_mysql_ubuntu20.yaml failas:

- šeimininkai: ubuntu20
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: Atnaujinkite APT paketo saugyklos talpyklą
apt:
„update_cache“: tiesa
- vardas: Įdiekite „MySQL“ serverį „Ubuntu 20“.04 LTS
apt:
pavadinimas: mysql-server
būsena: dabartis
- pavadinimas: Įdiekite „MySQL“ klientą „Ubuntu 20“.04 LTS
apt:
vardas: mysql-klientas
būsena: dabartis
- pavadinimas: Įsitikinkite, kad veikia „mysql“ paslauga
paslauga:
pavadinimas: mysql
būsena: prasidėjo
įjungta: tiesa
- pavadinimas: Įdiekite python3-pymysql biblioteką
apt:
pavadinimas: python3-pymysql
būsena: dabartis

Baigę paspauskite + X, paskui Y ir , išsaugoti install_mysql_ubuntu20.yaml failą.

Šioje eilutėje „Ansible“ nurodoma paleisti pjesę install_mysql_ubuntu20.yaml kiekvienam kompiuteriui ubuntu20 grupė:

Čia aš apibrėžiau 5 užduotis.

Pirmoji užduotis atnaujina „Ubuntu 20“ APT paketų saugyklos talpyklą.04 LTS naudojant „Ansible“ taiklus modulis.

Antroji užduotis įdiegia „MySQL“ serverio paketą mysql-serveris naudojant Ansible taiklus modulis.

Trečioji užduotis įdiegia „MySQL“ kliento paketą mysql naudojant Ansible taiklus modulis.

Ketvirtoji užduotis užtikrina, kad mysql paslauga veikia ir kad ji buvo pridėta prie sistemos paleidimo, kad ji automatiškai prasidėtų įkrovos metu.

Penktoji užduotis įdiegia „Python 3 MySQL“ biblioteką pymysql. Tai reikalinga norint pasiekti „MySQL“ iš „Ansible“.

Paleiskite install_mysql_ubuntu20.yaml pjesė:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Kaip matote, pjesių knygelė install_mysql_ubuntu20.yaml bėgo sėkmingai.

Mano „Ubuntu 20“.04 LTS priegloba, aš galiu pasiekti MySQL kaip šaknis vartotojas be jokio slaptažodžio, kaip matote toliau pateiktoje ekrano kopijoje.

$ sudo mysql -u šaknis

Dabar, kai įdiegtas „MySQL“ serveris, laikas nustatyti „MySQL“ serverio pagrindinį slaptažodį.

Sukurkite naują grupės kintamojo failą ubuntu20 (viduje konors group_vars / katalogas) ubuntu20 grupei:

$ nano group_vars / ubuntu20

Pridėkite naują kintamąjį, mysql_pass, su root slaptažodžiu (mano atveju, paslaptis), kurį norite nustatyti, kaip parodyta toliau pateiktoje ekrano kopijoje.

Baigę paspauskite + X, paskui Y ir , kad išsaugotumėte failą.

Sukurkite naują pjesę set_root_pass_ubuntu20.yaml su tokia komanda:

$ nano grojaraščiai / set_root_pass_ubuntu20.yaml

Įveskite šias eilutes set_root_pass_ubuntu20.yaml failas:

- šeimininkai: ubuntu20
vartotojas: ansible
tapti: Tiesa
užduotys:
- pavadinimas: Pakeiskite „MySQL“ šakninio vartotojo autentifikavimo papildinį į „mysql_native_password“
apvalkalas: mysql -u root -e 'ATNAUJINTI mysql.vartotojo SET papildinys = "mysql_native_password"
WHERE user = "root" AND host = "localhost" '
- pavadinimas: Nuplaukite privilegijas
apvalkalas: mysql -u šaknis -e 'FLUSH PRIVILEGES'
- vardas: nustatykite „MySQL“ šakninį slaptažodį
mysql_user:
login_host: 'localhost'
login_user: 'šaknis'
prisijungimo slaptažodis: "
pavadinimas: 'šaknis'
slaptažodis: „mysql_pass“
būsena: dabartis

Baigę paspauskite + X, paskui Y ir , išsaugoti set_root_pass_ubuntu20.yaml failą.

Čia aš apibrėžiau tris užduotis.

Pirmoji užduotis pakeičia „MySQL“ autentifikavimo papildinį šaknis vartotojas iš auth_socket į mysql_native_password.

Antroji užduotis perkelia visas privilegijas.

Trečioje užduotyje naudojamas mysql_user Galimas modulis, skirtas nustatyti MySQL šakninį slaptažodį.

Trečioje užduotyje login_host, login_user, ir prisijungimo slaptažodis parinktys mysql_user Galimas modulis naudojamas nustatyti dabartinį „MySQL“ prisijungimo pagrindinio kompiuterio vardą, vartotojo vardą ir slaptažodį. Pagal numatytuosius nustatymus „MySQL“ prisijungimo pagrindinio kompiuterio vardas (login_host) yra vietinis šeimininkas, prisijungimo vartotojo vardas (login_user) yra šaknis, ir prisijungimo vardas Slaptažodis (prisijungimo slaptažodis) Yra tuščias () sistemoje.

Čia, Slaptažodis variantas mysql_user Naujam „MySQL“ šakniniam slaptažodžiui nustatyti naudojamas modulis. MySQL šakninis slaptažodis bus mysql_pass grupės kintamasis, kurį nustatiau anksčiau group_vars / ubuntu20 failą.

Paleiskite pjesę set_root_pass_ubuntu20.yaml su tokia komanda:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

Knyga sėkmingai paleista, kaip matote toliau pateiktame ekrano kopijoje:

Kaip matote, nebegaliu prisijungti prie „MySQL“ serverio be pagrindinio slaptažodžio.

$ sudo mysql -u šaknis

Norėdami prisijungti prie „MySQL“ serverio kaip pagrindinis vartotojas su nustatytu slaptažodžiu, vykdykite šią komandą savo „Ubuntu 20“.04 LTS vedėjas:

$ sudo mysql -u šaknis -p

Įveskite pagrindinį slaptažodį, kurį nustatėte naudodami „Ansible“, ir paspauskite .

Turėtumėte būti prisijungę prie „MySQL“ serverio kaip pagrindinis vartotojas.

Išvada

Šis straipsnis parodė, kaip įdiegti „MySQL“ serverį ir nustatyti „MySQL“ šakninį slaptažodį „CentOS 8“ ir „Ubuntu 20“.04 „LTS Linux“ paskirstymai naudojant „Ansible“. Šiame straipsnyje buvo naudojamas mysql_user Galimas „MySQL“ šakninio slaptažodžio nustatymo modulis. Galite naudoti šį modulį norėdami pakeisti „MySQL“ šakninį slaptažodį, sukurti naujus „MySQL“ vartotojus ir numatyti daug daugiau vartotojų valdymo funkcijų.

Norėdami gauti daugiau informacijos apie mysql_user patikrinkite oficialią „mysql_user“ modulio dokumentaciją.

Mūšis už Wesnothą 1.13.6 Išleista plėtra
Mūšis už Wesnothą 1.13.6 išleistas praėjusį mėnesį, yra šeštasis 1 versijos kūrimo leidimas.13.„x“ serija ir ji teikia daug patobulinimų, ypač vartoto...
Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...
Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...