Lehetséges

Hogyan lehet beállítani a MySQL gyökér jelszavát az Ansible használatával

Hogyan lehet beállítani a MySQL gyökér jelszavát az Ansible használatával
A legtöbb Linux disztribúció, köztük a CentOS / RHEL és az Ubuntu / Debian nem állítja be automatikusan a MySQL root jelszót. Mivel a MySQL root jelszó nincs automatikusan beállítva, jelszó nélkül be lehet jelentkezni a MySQL konzolra rootként. Ez nem túl jó a biztonság szempontjából.

A CentOS / RHEL-en egyszerűen futtathatja a mysql_secure_installation parancsot a root jelszó beállításához. De az Ubuntu 20-on.04 LTS, ez a módszer nem működik, mivel a MySQL egy másik hitelesítési plugint használ a gyökér felhasználó.

Ez a cikk megmutatja, hogyan állíthat be MySQL gyökér jelszót a CentOS 8 és az Ubuntu 20 rendszereken.04 LTS Linux disztribúciók Ansible modulokkal.

Előfeltételek


Ha ki szeretné próbálni a cikkben szereplő példákat,

1) A számítógépére telepítve kell lennie az Ansible programnak.

2) Legalább CentOS / RHEL 8 gazdagéppel vagy Ubuntu 20-zal kell rendelkeznie.04 LTS állomás konfigurálva az Ansible automatizáláshoz.

A LinuxHint-en számos cikk foglalkozik az Ansible telepítésével és a gazdagépek konfigurálásával az Ansible automatizáláshoz. Szükség esetén megnézheti ezeket.

Projektkönyvtár beállítása

Mielőtt továbblépnénk, létrehozunk egy új Ansible projekt könyvtárat, csak azért, hogy a dolgok kissé rendezettek legyenek.

A projekt könyvtár létrehozása mysql-root-pass / és az összes szükséges alkönyvtárat (az aktuális munkakönyvtárban), futtassa a következő parancsot:

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

A projektkönyvtár létrehozása után lépjen a projektkönyvtárba az alábbiak szerint:

$ cd mysql-root-pass /

Hozzon létre egy otthont ad leltárállomány, az alábbiak szerint:

$ nano házigazdák

Adja hozzá a CentOS / RHEL 8 vagy az Ubuntu 20 gazdagépének IP- vagy DNS-nevét.04 LTS gazdagépek a készletfájlban (soronként egy gazdagép), az alábbi képernyőképen látható módon.

Ha végzett, mentse a fájlt a gombbal + x, utána Y és .

Itt két csoportot hoztam létre, centos8, és ubuntu20. A centos8 csoport rendelkezik a CentOS 8 gazdagépem DNS-nevével, vm3.nodekite.com; és a ubuntu20 csoport rendelkezik az Ubuntu 20 DNS nevével.04 LTS host, vm7.nodekite.com.

Hozzon létre egy Ansible konfigurációs fájlt lehetséges.vö a projektkönyvtárban, az alábbiak szerint:

$ nano ansible.vö

Írja be a következő sorokat a lehetséges.vö fájl:

[alapértelmezések]
leltár = hosztok
host_key_checking = Hamis

Ha elkészült, mentse a lehetséges.vö fájl megnyomásával + x, utána Y és .

Próbálja meg pingelni az összes gazdagépet, amelyet hozzáadott a otthont ad leltárállomány, az alábbiak szerint:

$ ansible all -u ansible -m ping

Amint láthatja, a CentOS 8 gazdagépem (vm3.nodekite.com) és az Ubuntu 20.04 LTS gazdagép (vm7.nodekite.com) hozzáférhetőek.

A MySQL telepítése és a root jelszó beállítása a CentOS / RHEL 8-ra

Ez a szakasz bemutatja, hogyan kell telepíteni a MySQL adatbázis-kiszolgálót, és hogyan lehet beállítani a root jelszót a CentOS 8-on az Ansible használatával. Ugyanennek az eljárásnak működnie kell az RHEL 8 esetében is.

Hozzon létre egy új Ansible játékkönyvet install_mysql_centos8.yaml ban,-ben játékkönyvek / könyvtárat, az alábbiak szerint:

$ nano playbooks / install_mysql_centos8.yaml

Írja be a következő sorokat a install_mysql_centos8.yaml fájl:

- házigazdák: centos8
felhasználó: ansible
vált: Igaz
feladatok:
- név: A DNF csomag-tárház gyorsítótárának frissítése
dnf:
update_cache: Igaz
- név: Telepítse a MySQL szervert a CentOS 8-ra
dnf:
név: mysql-server
állapot: jelen
- név: Telepítse a MySQL klienst a CentOS 8-ra
dnf:
név: mysql
állapot: jelen
- név: Ellenőrizze, hogy a mysqld szolgáltatás fut-e
szolgáltatás:
név: mysqld
állapot: kezdődött
engedélyezve: Igaz

- név: Telepítse a python3-PyMySQL könyvtárat
dnf:
név: python3-PyMySQL
állapot: jelen

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a install_mysql_centos8.yaml fájl.

Az alábbi sor azt mondja az Ansible számára, hogy futtassa a playbookot install_mysql_centos8.yaml a centos8 csoport.

Itt 5 feladatot definiáltam.

Az első feladat az Ansible használatával frissíti a CentOS 8 DNF csomagtárházának gyorsítótárát dnf modul.

A második feladat telepíti a MySQL szerver csomagot mysql-server az Ansible segítségével dnf modul.

A harmadik feladat telepíti a MySQL kliens csomagot mysql az Ansible segítségével dnf modul.

A negyedik feladat biztosítja, hogy a mysqld szolgáltatás fut, és hozzá lett adva a rendszer indításához, hogy automatikusan elinduljon indításkor.

Az ötödik feladat telepíti a Python 3 MySQL könyvtárat pymysql. Erre a MySQL eléréséhez van szükség az Ansible alkalmazásból.

Futtassa a install_mysql_centos8.yaml játékkönyv, az alábbiak szerint:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Mint látható, a játékkönyv install_mysql_centos8.yaml sikeresen futott.

CentOS 8 gazdagépemen elérhetem a MySQL-t mint gyökér felhasználó jelszó nélkül, amint az az alábbi képernyőképen látható:

$ sudo mysql -u gyökér

Most, hogy a MySQL szerver telepítve van, itt az ideje beállítani a MySQL szerver gyökér jelszavát.

Hozza létre az új csoportváltozó fájlt centos8 (ban,-ben group_vars / könyvtár) a centos8 csoport, az alábbiak szerint:

$ nano group_vars / centos8

Adjon hozzá egy új változót mysql_pass a root jelszóval (az én esetemben, titok), amelyet beállítani szeretne, az alábbi képernyőképen látható módon.

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy elmentse a fájlt.

Hozzon létre egy új játékkönyvet set_root_pass_centos8.yaml a következő paranccsal:

$ nano playbooks / set_root_pass_centos8.yaml

Írja be a következő sorokat a set_root_pass_centos8.yaml fájl:

- házigazdák: centos8
felhasználó: ansible
vált: Igaz
feladatok:
- név: Állítsa be a MySQL gyökér jelszavát
mysql_user:
login_host: 'localhost'
login_user: 'root'
bejelentkezési jelszó: "
név: 'gyökér'
jelszó: 'mysql_pass'
állapot: jelen

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a set_root_pass_centos8.yaml fájl.

Ez a játékkönyv a mysql_user Lehetséges modul a MySQL root jelszó beállításához.

A login_host, login_user, és bejelentkezési jelszó lehetőségei mysql_user Egy lehetséges modult használnak az aktuális MySQL bejelentkezési gazdagép, felhasználói név és jelszó beállítására. Alapértelmezés szerint a MySQL bejelentkezési gazdagépnév (login_host) az a helyi kiszolgáló, a bejelentkezési felhasználónév (login_user) az a gyökér, és a bejelentkezés Jelszó (bejelentkezési jelszó) üres () a CentOS 8-on.

A Jelszó a mysql_user Egy lehetséges modult használunk egy új MySQL root jelszó beállításához. A MySQL root jelszó lesz a mysql_pass a korábban beállított csoportváltozó.

Futtassa a játékkönyvet set_root_pass_centos8.yaml a következő paranccsal:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

A játékkönyv sikeresen futott, amint az az alábbi képernyőképen látható:

Mint láthatja, root jelszó nélkül már nem tudok bejelentkezni a MySQL szerverre.

Bejelentkezés a MySQL szerverre, mint gyökér jelszóval rendelkező felhasználó esetén futtassa a következő parancsot a CentOS 8 gazdagépén:

$ sudo mysql -u root -p

Írja be az Ansible használatával beállított root jelszót, és nyomja meg a gombot .

Be kell jelentkeznie a MySQL szerverre, mint gyökér felhasználó.

A MySQL telepítése és a root jelszó beállítása az Ubuntu 20-ra.04 LTS

Ez a szakasz bemutatja, hogyan kell telepíteni a MySQL adatbázis-kiszolgálót, és hogyan kell beállítani a root jelszót az Ubuntu 20-ra.04 LTS az Ansible használatával.

Hozzon létre egy új Ansible játékkönyvet install_mysql_ubuntu20.yaml ban,-ben játékkönyvek / könyvtárat, az alábbiak szerint:

$ nano playbooks / install_mysql_ubuntu20.yaml

Írja be a következő sorokat a install_mysql_ubuntu20.yaml fájl:

- házigazdák: ubuntu20
felhasználó: ansible
vált: Igaz
feladatok:
- név: Frissítse az APT-csomag tárház gyorsítótárát
apt:
update_cache: Igaz
- név: Telepítse a MySQL szervert az Ubuntu 20-ra.04 LTS
apt:
név: mysql-server
állapot: jelen
- név: Telepítse a MySQL klienst az Ubuntu 20-ra.04 LTS
apt:
név: mysql-client
állapot: jelen
- név: Győződjön meg arról, hogy a mysql szolgáltatás fut
szolgáltatás:
név: mysql
állapot: kezdődött
engedélyezve: Igaz
- név: Telepítse a python3-pymysql könyvtárat
apt:
név: python3-pymysql
állapot: jelen

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a install_mysql_ubuntu20.yaml fájl.

A következő sor azt mondja az Ansible-nak, hogy futtassa a játékkönyvet install_mysql_ubuntu20.yaml a ubuntu20 csoport:

Itt 5 feladatot definiáltam.

Az első feladat frissíti az Ubuntu 20 APT csomagtárának gyorsítótárát.04 LTS az Ansible segítségével találó modul.

A második feladat telepíti a MySQL szerver csomagot mysql-server az Ansible segítségével találó modul.

A harmadik feladat telepíti a MySQL kliens csomagot mysql az Ansible segítségével találó modul.

A negyedik feladat biztosítja, hogy a mysql szolgáltatás fut, és hozzá lett adva a rendszer indításához, hogy automatikusan elinduljon indításkor.

Az ötödik feladat telepíti a Python 3 MySQL könyvtárat pymysql. Erre a MySQL eléréséhez van szükség az Ansible alkalmazásból.

Futtassa a install_mysql_ubuntu20.yaml játékkönyv, az alábbiak szerint:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Mint látható, a játékkönyv install_mysql_ubuntu20.yaml sikeresen futott.

Az Ubuntu 20-on.04 LTS gazdagép, a MySQL-hez hozzáférhetek gyökér felhasználó jelszó nélkül, amint az az alábbi képernyőképen látható.

$ sudo mysql -u gyökér

Most, hogy a MySQL szerver telepítve van, itt az ideje beállítani a MySQL szerver gyökér jelszavát.

Hozzon létre egy új csoportváltozó fájlt ubuntu20 (ban,-ben group_vars / könyvtár) a ubuntu20 csoport, az alábbiak szerint:

$ nano group_vars / ubuntu20

Adjon hozzá egy új változót, mysql_pass, a root jelszóval (az én esetemben, titok), amelyet beállítani szeretne, az alábbi képernyőképen látható módon.

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy elmentse a fájlt.

Hozzon létre egy új játékkönyvet set_root_pass_ubuntu20.yaml a következő paranccsal:

$ nano playbooks / set_root_pass_ubuntu20.yaml

Írja be a következő sorokat a set_root_pass_ubuntu20.yaml fájl:

- házigazdák: ubuntu20
felhasználó: ansible
vált: Igaz
feladatok:
- név: Változtassa a MySQL gyökér felhasználó hitelesítési bővítményét mysql_native_password értékre
shell: mysql -u root -e 'UPDATE mysql.felhasználói SET plugin = "mysql_native_password"
WHERE user = "root" ÉS host = "localhost" '
- név: Flush privilégiumok
shell: mysql -u gyökér -e 'FLUSH PRIVILEGES'
- név: Állítsa be a MySQL root jelszavát
mysql_user:
login_host: 'localhost'
login_user: 'root'
bejelentkezési jelszó: "
név: 'gyökér'
jelszó: 'mysql_pass'
állapot: jelen

Ha végzett, nyomja meg a gombot + x, utána Y és , hogy megmentse a set_root_pass_ubuntu20.yaml fájl.

Itt három feladatot határoztam meg.

Az első feladat megváltoztatja a MySQL hitelesítési bővítményét gyökér felhasználó innen: auth_socket nak nek mysql_native_password.

A második feladat újratölti az összes jogosultságot.

A harmadik feladat a mysql_user Lehetséges modul a MySQL root jelszó beállításához.

A harmadik feladatban az login_host, login_user, és bejelentkezési jelszó lehetőségei mysql_user Egy lehetséges modult használnak az aktuális MySQL bejelentkezési gazdagép, felhasználói név és jelszó beállítására. Alapértelmezés szerint a MySQL bejelentkezési gazdagépnév (login_host) van helyi kiszolgáló, a bejelentkezési felhasználónév (login_user) van gyökér, és a bejelentkezés Jelszó (bejelentkezési jelszó) üres () a rendszeren.

Itt a Jelszó a mysql_user Egy lehetséges modult használnak egy új MySQL root jelszó beállításához. A MySQL root jelszó lesz a mysql_pass csoport változó, amelyet korábban beállítottam a group_vars / ubuntu20 fájl.

Futtassa a játékkönyvet set_root_pass_ubuntu20.yaml a következő paranccsal:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

A játékkönyv sikeresen futott, amint az az alábbi képernyőképen is látható:

Mint láthatja, root jelszó nélkül már nem tudok bejelentkezni a MySQL szerverre.

$ sudo mysql -u gyökér

Ha a beállított jelszóval root felhasználóként szeretne bejelentkezni a MySQL szerverre, futtassa a következő parancsot az Ubuntu 20-on.04 LTS host:

$ sudo mysql -u root -p

Írja be az Ansible használatával beállított root jelszót, és nyomja meg a gombot .

Gyökérfelhasználóként be kell jelentkeznie a MySQL szerverre.

Következtetés

Ez a cikk bemutatta, hogyan kell telepíteni a MySQL szervert és beállítani a MySQL gyökér jelszavát a CentOS 8 és az Ubuntu 20 rendszereken.04 LTS Linux disztribúciók az Ansible használatával. Ez a cikk a mysql_user Egy lehetséges modul a MySQL root jelszó beállításához. Ezzel a modullal megváltoztathatja a MySQL gyökér jelszavát, új MySQL felhasználókat hozhat létre, és számos további felhasználókezelési funkciót igényelhet.

További információ a mysql_user modult, ellenőrizze a mysql_user modul hivatalos dokumentációját.

Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...
Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...