Možné

Jak nastavit rootové heslo MySQL pomocí Ansible

Jak nastavit rootové heslo MySQL pomocí Ansible
Většina distribucí Linuxu, včetně CentOS / RHEL a Ubuntu / Debian, nenastavuje heslo root MySQL automaticky. Protože heslo uživatele root MySQL není nastaveno automaticky, lze se do konzoly MySQL přihlásit jako uživatel root bez jakéhokoli hesla. To není z hlediska bezpečnosti příliš dobré.

Na CentOS / RHEL můžete snadno spustit mysql_secure_installation příkaz pro nastavení hesla root. Ale na Ubuntu 20.04 LTS, tato metoda nefunguje, protože MySQL používá jiný ověřovací plugin pro vykořenit uživatel.

Tento článek vám ukáže, jak nastavit heslo root MySQL na CentOS 8 a Ubuntu 20.04 LTS Linuxové distribuce pomocí modulů Ansible.

Předpoklady


Chcete-li vyzkoušet příklady obsažené v tomto článku,

1) Musíte mít ve svém počítači nainstalovanou aplikaci Ansible.

2) Musíte mít alespoň hostitele CentOS / RHEL 8 nebo Ubuntu 20.Host 04 LTS nakonfigurován pro automatizaci Ansible.

Existuje mnoho článků o LinuxHint věnovaných instalaci Ansible a konfiguraci hostitelů pro automatizaci Ansible. V případě potřeby je můžete zkontrolovat.

Nastavení adresáře projektu

Než se přesuneme dále, nastavíme nový adresář projektu Ansible, abychom věci trochu uspořádali.

Chcete-li vytvořit adresář projektu mysql-root-pass / a všechny požadované podadresáře (ve vašem aktuálním pracovním adresáři), spusťte následující příkaz:

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

Po vytvoření adresáře projektu přejděte do adresáře projektu následujícím způsobem:

$ cd mysql-root-pass /

Vytvořit hostitelé soubor inventáře takto:

$ nano hostitelé

Přidejte hostitelské IP nebo DNS názvy vašich CentOS / RHEL 8 nebo Ubuntu 20.04 hostitelů LTS v souboru inventáře (jeden hostitel na řádek), jak je znázorněno na následujícím obrázku.

Až budete hotovi, uložte soubor stisknutím + X, následován Y a .

Zde jsem vytvořil dvě skupiny, centos8, a ubuntu20. The centos8 skupina má název DNS mého hostitele CentOS 8, vm3.nodekite.com; a ubuntu20 skupina má název DNS mého Ubuntu 20.04 hostitel LTS, vm7.nodekite.com.

Vytvořte konfigurační soubor Ansible zodpovědný.srov v adresáři projektu takto:

$ nanoodpovědný.srov

Do řádku zadejte následující řádky zodpovědný.srov soubor:

[výchozí]
inventář = hostitelé
host_key_checking = False

Až budete hotovi, uložte zodpovědný.srov soubor stisknutím + X, následován Y a .

Zkuste ping na všechny hostitele, které jste přidali do svého hostitelé soubor inventáře takto:

$ ansible vše -u ansible -m ping

Jak vidíte, můj hostitel CentOS 8 (vm3.nodekite.com) a Ubuntu 20.04 hostitel LTS (vm7.nodekite.com) jsou přístupné.

Instalace MySQL a nastavení kořenového hesla na CentOS / RHEL 8

Tato část vám ukáže, jak nainstalovat databázový server MySQL a nastavit heslo uživatele root na CentOS 8 pomocí Ansible. Stejný postup by měl fungovat i na RHEL 8.

Vytvořte nový playbook Ansible install_mysql_centos8.yaml v knihy o hře / adresář takto:

$ nano playbooks / install_mysql_centos8.yaml

Do řádku zadejte následující řádky install_mysql_centos8.yaml soubor:

- hostitelé: centos8
uživatel: odpovědný
stát se: Pravda
úkoly:
- name: Aktualizovat mezipaměť úložiště balíčku DNF
dnf:
update_cache: Pravda
- name: Nainstalujte server MySQL na CentOS 8
dnf:
název: mysql-server
stav: přítomen
- name: Nainstalujte klienta MySQL na CentOS 8
dnf:
název: mysql
stav: přítomen
- name: Ujistěte se, že je spuštěna služba mysqld
servis:
jméno: mysqld
stav: spuštěno
enabled: True

- name: Nainstalujte knihovnu python3-PyMySQL
dnf:
název: python3-PyMySQL
stav: přítomen

Po dokončení stiskněte + X, následován Y a , uložit install_mysql_centos8.yaml soubor.

Řádek níže říká Ansible spustit playbook install_mysql_centos8.yaml na každém hostiteli v centos8 skupina.

Zde jsem definoval 5 úkolů.

První úkol aktualizuje mezipaměť úložiště balíků DNF CentOS 8 pomocí Ansible dnf modul.

Druhá úloha nainstaluje balíček serveru MySQL mysql-server pomocí Ansible dnf modul.

Třetí úkol nainstaluje balíček klienta MySQL mysql pomocí Ansible dnf modul.

Čtvrtý úkol zajišťuje, že mysqld služba běží a že byla přidána ke spuštění systému, aby se automaticky spustila při spuštění.

Pátý úkol nainstaluje knihovnu MySQL Pythonu 3 pymysql. To je vyžadováno pro přístup k MySQL z Ansible.

Spusťte install_mysql_centos8.yaml playbook, a to následovně:

$ ansible-playbook playbooks / install_mysql_centos8.yaml

Jak vidíte, scénář install_mysql_centos8.yaml běžel úspěšně.

Na mém hostiteli CentOS 8 mohu přistupovat k MySQL jako vykořenit uživatel bez jakéhokoli hesla, jak vidíte na snímku obrazovky níže:

$ sudo mysql -u root

Nyní, když je nainstalován server MySQL, je čas nastavit heslo root pro server MySQL.

Vytvořte nový soubor proměnné skupiny centos8 (v group_vars / adresář) pro centos8 skupiny takto:

$ nano group_vars / centos8

Přidejte novou proměnnou mysql_pass s heslem root (v mém případě, tajný), kterou chcete nastavit, jak je znázorněno na následujícím obrázku.

Po dokončení stiskněte + X, následován Y a , soubor uložit.

Vytvořte nový scénář set_root_pass_centos8.yaml s následujícím příkazem:

$ nano playbooks / set_root_pass_centos8.yaml

Do řádku zadejte následující řádky set_root_pass_centos8.yaml soubor:

- hostitelé: centos8
uživatel: odpovědný
stát se: Pravda
úkoly:
- name: Nastavit heslo root MySQL
mysql_user:
login_host: 'localhost'
login_user: 'root'
přihlašovací heslo: "
name: 'root'
heslo: 'mysql_pass'
stav: přítomen

Po dokončení stiskněte + X, následován Y a , uložit set_root_pass_centos8.yaml soubor.

Tato příručka používá mysql_user Možný modul pro nastavení hesla root root MySQL.

The login_host, login_user, a přihlašovací heslo možnosti mysql_user Modul Ansible se používá k nastavení aktuálního přihlašovacího jména MySQL hostitele, uživatelského jména a hesla. Ve výchozím nastavení je přihlašovací jméno hostitele MySQL (login_host) je localhost, přihlašovací uživatelské jméno (login_user) je vykořenit, a přihlášení Heslo (přihlašovací heslo) je prázdný () na CentOS 8.

The Heslo možnost mysql_user Modul Ansible se používá k nastavení nového hesla root MySQL, zde. Hodnota kořenového hesla MySQL bude hodnotou mysql_pass skupinová proměnná, která byla nastavena dříve.

Spusťte příručku set_root_pass_centos8.yaml s následujícím příkazem:

$ ansible-playbook playbooks / set_root_pass_centos8.yaml

Kniha scénářů proběhla úspěšně, jak je vidět na následujícím snímku obrazovky:

Jak vidíte, bez hesla uživatele root se již nemůžu přihlásit k serveru MySQL.

Chcete-li se přihlásit k serveru MySQL jako vykořenit uživatel s heslem, spusťte na hostiteli CentOS 8 následující příkaz:

$ sudo mysql -u root -p

Zadejte heslo uživatele root, které jste nastavili pomocí Ansible, a stiskněte .

Měli byste být přihlášeni k serveru MySQL jako vykořenit uživatel.

Instalace MySQL a nastavení hesla root na Ubuntu 20.04 LTS

Tato část vám ukáže, jak nainstalovat databázový server MySQL a nastavit heslo uživatele root na Ubuntu 20.04 LTS pomocí Ansible.

Vytvořte nový playbook Ansible install_mysql_ubuntu20.yaml v knihy o hře / adresář takto:

$ nano playbooks / install_mysql_ubuntu20.yaml

Do řádku zadejte následující řádky install_mysql_ubuntu20.yaml soubor:

- hostitelé: ubuntu20
uživatel: odpovědný
stát se: Pravda
úkoly:
- name: Aktualizovat mezipaměť úložiště APT balíčku
výstižný:
update_cache: Pravda
- name: Nainstalujte server MySQL na Ubuntu 20.04 LTS
výstižný:
název: mysql-server
stav: přítomen
- name: Nainstalujte klienta MySQL na Ubuntu 20.04 LTS
výstižný:
název: mysql-client
stav: přítomen
- name: Ujistěte se, že je spuštěna služba mysql
servis:
název: mysql
stav: spuštěno
enabled: True
- name: Nainstalujte knihovnu python3-pymysql
výstižný:
název: python3-pymysql
stav: přítomen

Po dokončení stiskněte + X, následován Y a , uložit install_mysql_ubuntu20.yaml soubor.

Následující řádek říká Ansible spustit playbook install_mysql_ubuntu20.yaml na každém hostiteli v ubuntu20 skupina:

Zde jsem definoval 5 úkolů.

První úkol aktualizuje mezipaměť úložiště APT balíčků Ubuntu 20.04 LTS pomocí Ansible výstižný modul.

Druhá úloha nainstaluje balíček serveru MySQL mysql-server pomocí Ansible výstižný modul.

Třetí úkol nainstaluje balíček klienta MySQL mysql pomocí Ansible výstižný modul.

Čtvrtý úkol zajišťuje, že mysql služba běží a že byla přidána ke spuštění systému, aby se automaticky spustila při spuštění.

Pátý úkol nainstaluje knihovnu MySQL Pythonu 3 pymysql. To je vyžadováno pro přístup k MySQL z Ansible.

Spusťte install_mysql_ubuntu20.yaml playbook, a to následovně:

$ ansible-playbook playbooks / install_mysql_ubuntu20.yaml

Jak vidíte, scénář install_mysql_ubuntu20.yaml běžel úspěšně.

Na mém Ubuntu 20.Host 04 LTS, mohu přistupovat k MySQL jako vykořenit uživatele bez jakéhokoli hesla, jak vidíte na obrázku níže.

$ sudo mysql -u root

Nyní, když je nainstalován server MySQL, je čas nastavit heslo uživatele root pro server MySQL.

Vytvořte nový soubor proměnné skupiny ubuntu20 (v group_vars / adresář) pro ubuntu20 skupiny takto:

$ nano group_vars / ubuntu20

Přidejte novou proměnnou, mysql_pass, s heslem root (v mém případě, velmi tajný), které chcete nastavit, jak je znázorněno na následujícím obrázku.

Po dokončení stiskněte + X, následován Y a , soubor uložit.

Vytvořte nový scénář set_root_pass_ubuntu20.yaml s následujícím příkazem:

$ nano playbooks / set_root_pass_ubuntu20.yaml

Do řádku zadejte následující řádky set_root_pass_ubuntu20.yaml soubor:

- hostitelé: ubuntu20
uživatel: odpovědný
stát se: Pravda
úkoly:
- name: Změňte ověřovací plugin uživatele root MySQL na mysql_native_password
shell: mysql -u root -e 'AKTUALIZACE mysql.uživatel SET plugin = "mysql_native_password"
WHERE user = "root" AND host = "localhost" '
- name: Flush Privileges
shell: mysql -u root -e 'FLUSH PRIVILEGES'
- name: Nastavit root heslo MySQL
mysql_user:
login_host: 'localhost'
login_user: 'root'
přihlašovací heslo: "
name: 'root'
heslo: 'mysql_pass'
stav: přítomen

Po dokončení stiskněte + X, následován Y a , uložit set_root_pass_ubuntu20.yaml soubor.

Zde jsem definoval tři úkoly.

První úkol mění autentizační plugin MySQL vykořenit uživatel z auth_socket na mysql_native_password.

Druhý úkol znovu načte všechna oprávnění.

Třetí úkol používá mysql_user Možný modul pro nastavení kořenového hesla MySQL.

Ve třetím úkolu login_host, login_user, a přihlašovací heslo možnosti mysql_user Modul Ansible se používá k nastavení aktuálního přihlašovacího jména MySQL hostitele, uživatelského jména a hesla. Ve výchozím nastavení je přihlašovací jméno hostitele MySQL (login_host) je localhost, přihlašovací uživatelské jméno (login_user) je vykořenit, a přihlášení Heslo (přihlašovací heslo) je prázdný () v systému.

Tady Heslo možnost mysql_user Ansible module is used to set a new MySQL root password. Hodnota kořenového hesla MySQL bude hodnotou mysql_pass skupinová proměnná, kterou jsem nastavil dříve, v group_vars / ubuntu20 soubor.

Spusťte příručku set_root_pass_ubuntu20.yaml s následujícím příkazem:

$ ansible-playbook playbooks / set_root_pass_ubuntu20.yaml

Kniha scénářů proběhla úspěšně, jak vidíte na následujícím obrázku obrazovky:

Jak vidíte, bez hesla uživatele root se již nemůžu přihlásit k serveru MySQL.

$ sudo mysql -u root

Chcete-li se přihlásit na server MySQL jako uživatel root s nastaveným heslem, spusťte na svém Ubuntu 20 následující příkaz.04 hostitel LTS:

$ sudo mysql -u root -p

Zadejte heslo uživatele root, které jste nastavili pomocí Ansible, a stiskněte .

Měli byste být přihlášeni k serveru MySQL jako uživatel root.

Závěr

Tento článek vám ukázal, jak nainstalovat server MySQL a nastavit heslo root MySQL na CentOS 8 a Ubuntu 20.04 LTS Linuxových distribucí pomocí Ansible. Tento článek používal mysql_user Možný modul pro nastavení hesla root MySQL. Tento modul můžete použít ke změně hesla root MySQL, vytváření nových uživatelů MySQL a zejména k mnoha dalším funkcím správy uživatelů.

Pro více informací o mysql_user modulu, zkontrolujte oficiální dokumentaci modulu mysql_user.

V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...
Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...
Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...