Popularita systému pro správu relačních databází MySQL jej pohodlně řadí mezi open-source aplikace. Na druhou stranu, jeho existence a ovládání pod Oracle jej plně neklasifikuje jako open-source software. Uživatelé, kteří chtějí těžit z jeho bezplatných funkcí, mají možnost používat komunitní edici MySQL. Uživatelé, kteří chtějí neomezený přístup ke všem jeho funkcím a funkcím, se mohou přihlásit k odběru podnikové edice MySQL.
Pokud hledáte jednodušší způsob, jak se naučit MySQL, měli byste použít software LAMP stack nebo něco podobného k vybudování stabilního základu systému správy databází. Stack LAMP integruje databázovou aplikaci MySQL pod jednou střechou s prostředím operačního systému Linux, webovým serverem Apache a programovacím jazykem PHP. Toto prostředí poskytuje stabilní kontejner, kde můžete testovat flexibilitu MySQL RDBMS.
Instalace MySQL do stabilního prostředí operačního systému, jako je CentOS 7, vytváří základnu pro jednotlivce, kteří se chtějí plně zaměřit na vyhlídky na správu databází. Vzhledem k tomu, že standardní repozitáře začínají upřednostňovat open source flexibilitu MariaDB před MySQL, tento článek se snaží vnést trochu světla do instalace MySQL na CentOS 7.
Předpoklady
Než budete pokračovat v tomto výukovém článku, musíte zaškrtnout každé z následujících políček.
- Prostředí operačního systému CentOS 7 Linux
- Být uživatelem Sudo v operačním systému CentOS 7 Linux
- Přístup k nástroji příkazového řádku CentOS 7 (Přejít do nabídky> Aplikace> Nástroje> Terminál)
- Výchozí přístup ke správci balíčků Yum společnosti CentOS
Instalace MySQL na serveru CentOS 7
Chcete-li úspěšně nainstalovat MySQL do prostředí serveru CentOS 7, musíte dodržet tři důležité kroky. Patří mezi ně:
- Stažení úložiště MySQL
- Instalace a konfigurace MySQL
- Kontrola stavu MySQL
Každý krok podrobně rozebereme, abyste pochopili, proč k nim musí dojít.
Stažení úložiště MySQL
Úložiště MySQL, které nás zajímá, vyžaduje několik kroků ke stažení a přípravě. Než budeme pokračovat v tomto kroku instalace, měli byste pracovat pod VPS nebo dedikovaným serverem, abyste plně využili cílů tohoto výukového článku. Pokud je tomu tak, budete také potřebovat přístupová oprávnění root a znalost přístupu k serveru SSH.
Protože tento článek pokrývá některé základní návody na instalaci a nastavení MySQL, můžete použít buď desktopové prostředí CentOS 7, nebo jeho serverové prostředí. Stále splníte stejné vzdělávací cíle.
Prvním krokem je pomocí následujícího příkazu zajistit, aby byl váš systém CentOS 7 aktuální.
sudo yum update
Aktualizovaný systém nám umožňuje zdravě stahovat potřebná úložiště MySQL. Proto stahujeme příslušnou verzi úložiště pro CentOS 7. Spusťte na svém terminálu následující příkaz.
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
Výše uvedené stahování by mělo končit potvrzovací zprávou s podrobnostmi o tom, že soubor „.rpm“ byl úspěšně uložen do vašeho systému.
Toto stažené úložiště je základem, ze kterého nainstalujeme naši databázovou aplikaci MySQL. Dalším krokem je jeho příprava. Použijte následující příkaz:
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
Počkejte, až vás systémový terminál vyzve k následné aktualizaci a instalaci zmíněného .rpm úložiště.
Instalace a konfigurace MySQL
Další fází je práce na naší instalaci MySQL. Budeme používat instalační program Yum ze systémového terminálu. Implementujte následující příkaz.
sudo yum install mysql-server
Spuštění tohoto příkazového skriptu povede k výstupu seznamu několika balíčků, jejichž stažení a instalaci budete muset potvrdit zadáním „y “ a poté stiskněte klávesu Enter na klávesnici.
Budete se muset vypořádat s několika případy potvrzení stažení a instalace balíčků souvisejících s MySQL zadáním „y “ na vašem terminálu. Nakonec budete vědět, zda byly všechny instalace balíčků úspěšné, když uvidíte „Dokončeno! “ na konci rozhraní displeje vašeho terminálu. S tímto posledním výstupem příkazu bude MySQL RDBMS úspěšně nainstalován do vašeho systému.
Spuštění a kontrola stavu MySQL
Nyní, když máme MySQL nainstalovaný v našem operačním systému CentOS 7, musíme si být jisti jeho existencí. Musíme ji spustit a zkontrolovat její stav. Tyto kroky nám řeknou, zda máme v našem systému CentOS 7 nainstalovanou zdravou databázovou aplikaci.
Úspěšná instalace MySQL na váš operační systém CentOS 7 neznamená, že se spustí automaticky. Je na vás, abyste vzali věci do svých rukou a spustili to ručně. Otevřete svůj terminál a spusťte tento příkaz:
sudo systemctl start mysqld
Neočekávejte žádnou odezvu tohoto příkazu, protože MySQL se bude tiše spouštět na pozadí vašeho operačního systému. Chcete-li však zkontrolovat stav MySQL nebo zjistit, zda vše funguje, jak by mělo, spusťte následující příkaz.
sudo systemctl status mysqld
Výstup podobný následujícímu by vám měl říci, co je se stavem vaší konfigurace MySQL.
Jak jste si všimli, část obrazovky se zeleným písmem nám říká, že naše instalace MySQL je aktivní a běží správně. Tento krok uzavírá úspěšnou instalaci a spuštění MySQL buď na vašem desktopovém prostředí CentOS 7, nebo v prostředí serveru.
Je čas podívat se na nějaký bonusový obsah MySQL na CentOS 7.
Konfigurační hacky MySQL na CentOS 7
Pokud jste stále nováčkem v MySQL, naučit se některé jednoduché příkazy pro nastavení databáze neuškodí. Ušetří vám to čas googlování obsahu jiných webů, abyste mohli začít svou cestu MySQL. Databázové příkazy a vylepšení, které se zde naučíte, jsou užitečné při vytváření silného základu databáze MySQL.
Změna hesla uživatele root databáze
Vaše čerstvě nainstalovaná databázová aplikace MySQL na CentOS 7 je spojena s dočasným heslem root. Vytvoření tohoto hesla probíhá během instalace MySQL. Chcete-li zjistit nebo získat přístup k tomuto výchozímu heslu spojenému s vaším systémem, spusťte následující příkaz:
sudo grep 'password' /var/log/mysqld.log
Možná budete muset toto heslo změnit z bezpečnostních důvodů a prvním krokem bude provedení tohoto příkazu:
sudo mysql_secure_installation
Z výsledné výzvy zadejte dočasné heslo, které vám bylo přiděleno, a následující vyskakovací okno vám umožní zadat a znovu zadat podrobnosti o vašem novém hesle.
The existing password for the user account root has expired. Please set a new password. New password: Re-enter new password:
Při nastavování hesla pro databázi MySQL vždy dodržujte pravidlo o délce 8-12 znaků. Kromě toho zvažte zahrnutí čísel, malých písmen, velkých písmen a speciálních znaků do nového hesla. Chráněná databáze nenarušuje integritu uložených dat.
Při změně hesla k databázi se setkáte s několika pokyny na obrazovce, které mohou vyžadovat stisknutí „y ” na klávesnici, dokud nebude nastavení dokončeno.
Kontrola aktuální verze databáze
Kontrola verze databázové aplikace MySQL je dalším způsobem, jak zajistit, že vaše instalace nenarazí na žádné chyby. Tohoto cíle dosáhne následující příkaz.
mysql -u root -p
Zadejte dříve vytvořené heslo uživatele root, které by pak mělo vést k výstupu terminálu podobnému následujícímu:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 38 Server version: 8.0.23 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Resetování kořenového hesla databáze
Pro uživatele MySQL, kteří mají nutkání resetovat hesla k databázi, existuje docela jednoduchý proces. Tento proces však vyžaduje několik kroků, aby byl úspěšný.
Za prvé, váš server MySQL by neměl být spuštěn. Můžete jej zastavit následujícím příkazem.
sudo systemctl stop mysqld
Znovu spusťte databázi MySQL bez příslušného hesla nebo v nouzovém režimu pomocí následujícího příkazu.
sudo mysqld_safe --skip-grant-tables
Databázová aplikace se nemusí spustit nebo se může zdát, že visí. V tomto případě stiskněte Enter na klávesnici.
Následující příkaz vám pomůže obnovit kořenové připojení k databázi MySQL.
mysql -uroot
Následující sekvence příkazů je účinná při změně hesla root uživatele MySQL.
USE MYSQL; UPDATE USER SET PASSWORD=PASSWORD(“my_new_password”) WHERE USER=’root’; FLUSH PRIVILEGES; EXIT
Nahraďte „my_new_password“ aktualizací hesla, kterou chcete implementovat při dodržení výše uvedených pravidel pro hesla.
Aby byly implementované změny účinné, budeme muset restartovat MySQL server. Spusťte následující příkaz.
sudo systemctl start mysqld
Vaše nové heslo je nyní platné a budete ho muset použít během příštího přihlášení do MySQL relace.
Vytvoření nové databáze a jejího přidruženého uživatele
Nyní, když jste uživatelem root, máte prospěch z přístupu ke všem funkcím, které databáze MySQL nabízí. Určité okolnosti vás však mohou donutit pracovat v týmovém prostředí. Jako správce databáze možná budete muset použít určitá omezení na to, jak tito uživatelé přistupují k databázi nastavení a jak ji používají.
Zde máte dvě možnosti. Tyto uživatele můžete buď vytvořit a umístit do nově vytvořené databáze, nebo udržovat stejnou databázi a vytvářet nové uživatele s přizpůsobenými oprávněními. K vytvoření nové databáze použijete následující příkaz.
CREATE DATABASE new_database_name
Nahraďte „new_database_name“ názvem, který chcete přiřadit vaší databázi.
Následující příkaz vytvoří uživatele databáze s přiřazeným heslem.
CREATE USER 'new_username'@'localhost' IDENTIFIED BY 'new_password'
Upravte proměnné „new_username“ a „new_password“ podle svých preferencí.
Chcete-li se zbavit vytvořeného uživatele databáze, použijte následující příkaz.
DROP USER ‘new_username’@‘localhost’
Správa uživatelských oprávnění databáze
Nyní, když máte uživatele a databázi, můžete spravovat, jak tento uživatel přistupuje ke zmíněné databázi nebo s ní interaguje. Následující příkaz poskytne uživateli všechna databázová oprávnění.
GRANT ALL PRIVILEGES ON newdb.* TO 'new_username'@'localhost'
Mezi další příkazy spojené s uživatelskými oprávněními patří následující:
- SELECT:- Poskytuje uživateli databáze oprávnění ke čtení.
- DROP:- Uživatelé mohou odstranit vytvořené nebo existující databázové tabulky
- INSERT:- Uživatelé mohou naplnit řádky existujících databázových tabulek
- VYTVOŘIT:- Uživatelé mohou generovat nebo přidávat další databázové tabulky
- DELETE:- Uživatelé mohou odstranit existující řádky v databázových tabulkách
- AKTUALIZACE:-Uživatelé mohou upravovat existující řádky v databázových tabulkách
- MOŽNOST UDĚLENÍ:-Uživatel root může změnit oprávnění oprávnění ostatních běžných uživatelů databáze
Pokud chceme, aby uživatel vytvořil nové nebo jiné uživatele databáze, použijeme MOŽNOST GRANT následujícím způsobem.
GRANT CREATE ON new_database_name.* TO 'new_username'@'localhost'
Můžeme také zrušit přístupová oprávnění udělená výše uvedenému uživateli pomocí následujícího příkazu.
REVOKE permission_type ON new_database_name.* TO 'new_username'@'localhost'
Můžete také potvrdit, jaký typ oprávnění je spojen s každým z vašich stávajících uživatelů databáze.
SHOW GRANTS new_username
Pokud byla oprávnění, která jste udělili uživatelům databáze, pouze dočasná, můžete čelit dilematu, jak je jednoho po druhém zrušit, pokud je uživatelů databáze příliš mnoho. V tomto případě potřebujete pouze jeden příkaz, abyste se zbavili všech uživatelských oprávnění.
FLUSH PRIVILEGES
Výše uvedený příkaz resetuje všechna uživatelská oprávnění.
Přístup k dalším databázovým příkazům
Pokud potřebujete více databázových příkazů, aby byla vaše cesta MySQL povzbudivější a škálovatelnější, zadejte do svého prostředí MySQL některý z následujících příkazů.
\h
nebo
help
Poznámka na závěr
Nyní, když znáte některé bezchybné přístupy k instalaci, konfiguraci, kontrole a dokonce úspěšnému provádění některých užitečných příkazů MySQL, váš základ pro správu databází v prostředí operačního systému CentOS 7 vás vynese do neomezených výšin. Databázová aplikace MySQL umožňuje ukládání databázových dat a další funkce správy databází zdánlivě snadné.
Tato aplikace databázového serveru označuje své uživatele jako efektivní a kvalifikované, protože snižuje překážky správy databáze. Takže ať už jste začátečník nebo nováček ve správě databází, MySQL vás buď dostane na správnou cestu, nebo dále zdokonalí vaše dovednosti v oblasti správy databází.