Možné

Ako nastaviť koreňové heslo MySQL pomocou

Ako nastaviť koreňové heslo MySQL pomocou
Väčšina distribúcií Linuxu, vrátane CentOS / RHEL a Ubuntu / Debian, nenastavuje heslo root pre MySQL automaticky. Pretože heslo rootu MySQL nie je nastavené automaticky, je možné sa do konzoly MySQL prihlásiť ako root bez hesla. To nie je príliš dobré z hľadiska bezpečnosti.

Na serveri CentOS / RHEL môžete ľahko spustiť mysql_secure_installation príkaz na nastavenie hesla root. Ale na Ubuntu 20.04 LTS, táto metóda nefunguje, pretože MySQL používa iný overovací doplnok pre server koreň používateľ.

Tento článok vám ukáže, ako nastaviť heslo root pre MySQL v systémoch CentOS 8 a Ubuntu 20.04 LTS distribúcií Linuxu pomocou modulov Ansible.

Predpoklady


Ak si chcete vyskúšať príklady uvedené v tomto článku,

1) Musíte mať v počítači nainštalovaný program Ansible.

2) Musíte mať aspoň hostiteľa CentOS / RHEL 8 alebo Ubuntu 20.Hostiteľ 04 LTS nakonfigurovaný na automatizáciu Ansible.

Existuje veľa článkov o LinuxHint venovaných inštalácii Ansible a konfigurácii hostiteľov pre automatizáciu Ansible. V prípade potreby ich môžete skontrolovať.

Nastavenie adresára projektu

Predtým, ako sa posunieme ďalej, nastavíme nový adresár projektu Ansible, aby sme mali trochu poriadok.

Vytvorenie adresára projektu mysql-root-pass / a všetky požadované podadresáre (vo vašom aktuálnom pracovnom adresári), spustite nasledujúci príkaz:

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

Po vytvorení adresára projektu prejdite do adresára projektu takto:

$ cd mysql-root-pass /

Vytvor hostitelia inventárny súbor, a to nasledovne:

$ nano hostitelia

Pridajte hostiteľské IP alebo DNS názvy vašich CentOS / RHEL 8 alebo Ubuntu 20.04 hostiteľov LTS v súbore inventára (jeden hostiteľ na riadok), ako je znázornené na snímke obrazovky nižšie.

Po dokončení uložte súbor stlačením + X, nasledovaný Y a .

Tu som vytvoril dve skupiny, centos8, a ubuntu20. The centos8 skupina má názov DNS môjho hostiteľa CentOS 8, vm3.nodekite.com; a ubuntu20 skupina má názov DNS môjho Ubuntu 20.04 hostiteľa LTS, vm7.nodekite.com.

Vytvorte konfiguračný súbor Ansible zodpovedné.porov v adresári projektu takto:

$ nano zodpovedné.porov

Zadajte nasledujúce riadky do zodpovedné.porov spis:

[predvolené hodnoty]
inventár = hostitelia
host_key_checking = False

Po dokončení uložte súbor zodpovedné.porov súbor stlačením + X, nasledovaný Y a .

Skúste pingať na všetkých hostiteľov, ktorých ste si pridali do svojho hostitelia inventárny súbor, a to nasledovne:

$ ansible všetko -u ansible -m ping

Ako vidíte, môj hostiteľ CentOS 8 (vm3.nodekite.com) a Ubuntu 20.04 hostiteľa LTS (vm7.nodekite.com) sú prístupné.

Inštalácia MySQL a nastavenie koreňového hesla na serveri CentOS / RHEL 8

Táto sekcia vám ukáže, ako nainštalovať databázový server MySQL a nastaviť heslo root pre CentOS 8 pomocou Ansible. Rovnaký postup by mal fungovať aj na RHEL 8.

Vytvorte nový playbook Ansible install_mysql_centos8.yaml v knihy o hre / adresár takto:

$ nano playbooks / install_mysql_centos8.yaml

Zadajte nasledujúce riadky do install_mysql_centos8.yaml spis:

- hostitelia: centos8
užívateľ: zodpovedný
stať sa: Pravda
úlohy:
- name: Aktualizácia medzipamäte úložiska balíkov DNF
dnf:
update_cache: Pravda
- name: Nainštalujte MySQL server na CentOS 8
dnf:
meno: mysql-server
stav: prítomný
- name: Nainštalujte si MySQL klienta na CentOS 8
dnf:
meno: mysql
stav: prítomný
- name: Skontrolujte, či je služba mysqld spustená
služba:
meno: mysqld
stav: začaté
povolené: Pravda

- name: Inštalácia knižnice python3-PyMySQL
dnf:
názov: python3-PyMySQL
stav: prítomný

Po dokončení stlačte + X, nasledovaný Y a , zachrániť install_mysql_centos8.yaml spis.

Nasledujúci riadok informuje program Ansible o spustení príručky install_mysql_centos8.yaml na každom hostiteľovi v centos8 skupina.

Tu som definoval 5 úloh.

Prvá úloha aktualizuje vyrovnávaciu pamäť úložiska balíkov DNF systému CentOS 8 pomocou nástroja Ansible dnf modul.

Druhou úlohou je inštalácia balíka serverov MySQL mysql-server pomocou Ansible dnf modul.

Tretia úloha nainštaluje balík klientov MySQL mysql pomocou Ansible dnf modul.

Štvrtá úloha zaisťuje, že: mysqld služba je spustená a bola pridaná k spusteniu systému, aby sa automaticky spustila pri štarte.

Piata úloha inštaluje knižnicu Python 3 MySQL pymysql. To je potrebné pre prístup k MySQL z Ansible.

Spustiť install_mysql_centos8.yaml príručky, a to nasledovne:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Ako vidíte, príručka install_mysql_centos8.yaml prebehol úspešne.

Na svojom hostiteľovi CentOS 8 môžem pristupovať k MySQL ako koreň používateľ bez hesla, ako vidíte na snímke obrazovky nižšie:

$ sudo mysql -u root

Teraz, keď je server MySQL nainštalovaný, je čas nastaviť heslo root pre server MySQL.

Vytvorte nový súbor premennej skupiny centos8 (v group_vars / adresár) pre centos8 skupiny:

$ nano group_vars / centos8

Pridajte novú premennú mysql_pass s heslom root (v mojom prípade, tajomstvo), ktorú chcete nastaviť, ako je znázornené na snímke obrazovky nižšie.

Po dokončení stlačte + X, nasledovaný Y a , súbor uložiť.

Vytvorte nový playbook set_root_pass_centos8.yaml nasledujúcim príkazom:

$ nano playbooks / set_root_pass_centos8.yaml

Zadajte nasledujúce riadky do set_root_pass_centos8.yaml spis:

- hostitelia: centos8
užívateľ: zodpovedný
stať sa: Pravda
úlohy:
- name: Nastaviť heslo root root MySQL
mysql_user:
login_host: 'localhost'
login_user: 'root'
prihlasovacie heslo: "
meno: 'root'
heslo: 'mysql_pass'
stav: prítomný

Po dokončení stlačte + X, nasledovaný Y a , zachrániť set_root_pass_centos8.yaml spis.

Táto príručka používa mysql_user Možný modul na nastavenie hesla root root MySQL.

The login_host, login_user, a prihlasovacie heslo možnosti mysql_user Modul Ansible sa používa na nastavenie aktuálneho prihlasovacieho názvu MySQL, používateľského mena a hesla. Predvolene je prihlasovacie meno hostiteľa MySQL (login_host) je localhost, prihlasovacie meno (login_user) je koreň, a prihlasovacie meno heslo (prihlasovacie heslo) je prázdny () v systéme CentOS 8.

The heslo možnosť mysql_user Možný modul sa používa na nastavenie nového koreňového hesla MySQL, tu. Hodnota koreňového hesla MySQL bude hodnota mysql_pass skupinová premenná, ktorá bola nastavená skôr.

Spustite príručku set_root_pass_centos8.yaml nasledujúcim príkazom:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

Príručka sa úspešne spustila, ako je vidieť na snímke obrazovky nižšie:

Ako vidíte, bez hesla root sa už na server MySQL nemôžem prihlásiť.

Ak sa chcete prihlásiť na server MySQL ako koreň používateľ s heslom, spustite na svojom hostiteľovi CentOS 8 nasledujúci príkaz:

$ sudo mysql -u root -p

Zadajte heslo root, ktoré ste nastavili pomocou programu Ansible, a stlačte .

Mali by ste sa prihlásiť na server MySQL ako koreň používateľ.

Inštalácia MySQL a nastavenie hesla root na Ubuntu 20.04 LTS

Táto časť vám ukáže, ako nainštalovať databázový server MySQL a nastaviť heslo root v systéme Ubuntu 20.04 LTS pomocou Ansible.

Vytvorte nový playbook Ansible install_mysql_ubuntu20.yaml v knihy o hre / adresár takto:

$ nano playbooks / install_mysql_ubuntu20.yaml

Zadajte nasledujúce riadky do install_mysql_ubuntu20.yaml spis:

- hostitelia: ubuntu20
užívateľ: zodpovedný
stať sa: Pravda
úlohy:
- name: Aktualizácia pamäte cache balíka APT
výstižný:
update_cache: Pravda
- názov: Nainštalujte server MySQL na Ubuntu 20.04 LTS
výstižný:
meno: mysql-server
stav: prítomný
- názov: Nainštalujte si klienta MySQL na Ubuntu 20.04 LTS
výstižný:
meno: mysql-klient
stav: prítomný
- name: Skontrolujte, či je služba mysql spustená
služba:
meno: mysql
stav: začaté
povolené: Pravda
- name: Nainštalujte knižnicu python3-pymysql
výstižný:
názov: python3-pymysql
stav: prítomný

Po dokončení stlačte + X, nasledovaný Y a , zachrániť install_mysql_ubuntu20.yaml spis.

Nasledujúci riadok informuje Ansible o spustení príručky install_mysql_ubuntu20.yaml na každom hostiteľovi v ubuntu20 skupina:

Tu som definoval 5 úloh.

Prvá úloha aktualizuje vyrovnávaciu pamäť úložiska balíkov APT systému Ubuntu 20.04 LTS pomocou Ansible trefný modul.

Druhou úlohou je inštalácia balíka serverov MySQL mysql-server pomocou Ansible trefný modul.

Tretia úloha nainštaluje balík klientov MySQL mysql pomocou Ansible trefný modul.

Štvrtá úloha zaisťuje, že: mysql služba je spustená a bola pridaná k spusteniu systému, aby sa automaticky spustila pri štarte.

Piata úloha inštaluje knižnicu Python 3 MySQL pymysql. Toto je potrebné na prístup k MySQL z Ansible.

Spustiť install_mysql_ubuntu20.yaml príručky, a to nasledovne:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Ako vidíte, príručka install_mysql_ubuntu20.yaml prebehol úspešne.

Na mojom Ubuntu 20.Hostiteľ 04 LTS, môžem pristupovať k MySQL ako koreň používateľ bez hesla, ako vidíte na snímke obrazovky nižšie.

$ sudo mysql -u root

Teraz, keď je server MySQL nainštalovaný, je čas nastaviť heslo root pre server MySQL.

Vytvorte nový súbor premenných skupín ubuntu20 (v group_vars / adresár) pre ubuntu20 skupiny:

$ nano group_vars / ubuntu20

Pridajte novú premennú, mysql_pass, s heslom root (v mojom prípade, veľmi tajný), ktoré chcete nastaviť, ako je znázornené na snímke obrazovky nižšie.

Po dokončení stlačte + X, nasledovaný Y a , súbor uložiť.

Vytvorte nový playbook set_root_pass_ubuntu20.yaml nasledujúcim príkazom:

$ nano playbooks / set_root_pass_ubuntu20.yaml

Zadajte nasledujúce riadky do set_root_pass_ubuntu20.yaml spis:

- hostitelia: ubuntu20
užívateľ: zodpovedný
stať sa: Pravda
úlohy:
- name: Zmeňte autentifikačný doplnok užívateľa root MySQL na mysql_native_password
shell: mysql -u root -e 'AKTUALIZÁCIA mysql.používateľ SET plugin = "mysql_native_password"
WHERE user = "root" AND host = "localhost" '
- názov: Zrušte oprávnenie
shell: mysql -u root -e 'FLUSH PRIVILEGES'
- name: Nastaviť heslo root root MySQL
mysql_user:
login_host: 'localhost'
login_user: 'root'
prihlasovacie heslo: "
meno: 'root'
heslo: 'mysql_pass'
stav: prítomný

Po dokončení stlačte + X, nasledovaný Y a , zachrániť set_root_pass_ubuntu20.yaml spis.

Tu som definoval tri úlohy.

Prvá úloha mení autentifikačný plugin MySQL koreň používateľ z auth_socket do mysql_native_password.

Druhá úloha znovu načíta všetky privilégiá.

Tretia úloha používa mysql_user Možný modul na nastavenie hesla root root MySQL.

V tretej úlohe login_host, login_user, a prihlasovacie heslo možnosti mysql_user Modul Ansible sa používa na nastavenie aktuálneho prihlasovacieho názvu MySQL, používateľského mena a hesla. Predvolene je prihlasovacie meno hostiteľa MySQL (login_host) je localhost, prihlasovacie meno (login_user) je koreň, a prihlasovacie meno heslo (prihlasovacie heslo) je prázdny () v systéme.

Tu je heslo možnosť mysql_user Možný modul sa používa na nastavenie nového koreňového hesla MySQL. Hodnota koreňového hesla MySQL bude hodnota mysql_pass skupinová premenná, ktorú som nastavil skôr, v group_vars / ubuntu20 spis.

Spustite príručku set_root_pass_ubuntu20.yaml nasledujúcim príkazom:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

Príručka sa úspešne spustila, ako vidíte na snímke obrazovky nižšie:

Ako vidíte, bez hesla root sa už na server MySQL nemôžem prihlásiť.

$ sudo mysql -u root

Ak sa chcete prihlásiť na server MySQL ako používateľ root s nastaveným heslom, spustite vo svojom Ubuntu 20 nasledujúci príkaz.04 hostiteľa LTS:

$ sudo mysql -u root -p

Zadajte heslo root, ktoré ste nastavili pomocou programu Ansible, a stlačte .

Mali by ste byť prihlásení na serveri MySQL ako užívateľ root.

Záver

Tento článok vám ukázal, ako nainštalovať server MySQL a nastaviť heslo root pre MySQL v systémoch CentOS 8 a Ubuntu 20.04 LTS Linuxových distribúcií pomocou Ansible. V tomto článku bolo použité mysql_user Možný modul na nastavenie hesla root root MySQL. Tento modul môžete použiť na zmenu koreňového hesla MySQL, vytváranie nových používateľov MySQL a predovšetkým na mnoho ďalších funkcií správy používateľov.

Pre viac informácií o mysql_user modul, skontrolujte oficiálnu dokumentáciu modulu mysql_user.

Top 5 ergonomických produktov pre počítačové myši pre Linux
Spôsobuje dlhodobé používanie počítača bolesť zápästia alebo prstov? Trpíte stuhnutými kĺbmi a neustále si musíte podávať ruky? Cítite pálivú bolesť z...
Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...