GNU/Linux >> Znalost Linux >  >> Cent OS

Nejčastější dotazy k nasazení MySQL

Co je MySQL?

MySQL je rychlý, spolehlivý, škálovatelný a snadno použitelný relační databázový systém s otevřeným zdrojovým kódem, je podporován společností Oracle. MySQL Server je navržen tak, aby zpracovával kritické produkční aplikace s velkým zatížením. Pokud vyvíjíte webové stránky nebo webové aplikace, je MySQL dobrou volbou. MySQL je základní součástí LAMP stacku, který zahrnuje Linux, Apache, MySQL a PHP.

Proč používat Bitnami MySQL Stack?

Bitnami MySQL Stack je vždy aktuální a bezpečný. Instalace a konfigurace stohu je zcela automatizovaná, takže je snadno zprovozní každý, včetně těch, kteří nejsou příliš techničtí.

Výukové programy a dokumentace Bitnami MySQL

  • Stránka Bitnami MySQL
  • Uživatelská příručka Bitnami MySQL
  • Protokol změn Bitnami MySQL
  • Vytvoření databáze MySQL a uživatele
  • Upravit heslo správce MySQL
  • Zabezpečit MySQL
  • Provádění výpisu a obnovení záloh MySQL
  • Konfigurace MySQL Workbench
  • Kontrola souboru protokolu MySQL

Kde najít kořenové přihlašovací údaje MySQL?

Pověření kořenového adresáře instance/uzlu/počítače budou odeslány na vaši registrovanou e-mailovou adresu, jakmile bude instance MySQL spuštěna.

Pověření MySQL jsou uložena v samostatném souboru. Chcete-li kdykoli získat přihlašovací údaje, postupujte takto:

  • Připojte se k instanci/uzlu/stroji prostřednictvím SSH pomocí rootu přihlašovací údaje uživatele.
  • Spusťte následující příkaz a získejte přihlašovací údaje aplikace:
      cat /home/bitnami/bitnami_credentials

Poznámka:Pro uživatele MySQL je root, shora prosím zkopírujte pouze Heslo

Jak otevřít port MySQL 3306 pomocí brány UFW Firewall

Ve výchozím nastavení je port Bitnami MySQL nakonfigurován tak, aby byl přístupný pouze v localhost. Chcete-li otevřít port MySQL na otevřený internet nebo pouze na konkrétní IP adresy, postupujte podle níže uvedených kroků.

1. Připojte se k instanci/uzlu/stroji přes SSH pomocí rootu přihlašovací údaje uživatele.

Bezpečnostní riziko :Vytvoření tohoto síťového portu databáze na veřejný internet je významným bezpečnostním rizikem. Důrazně se doporučuje otevřít port MySQL pouze pro důvěryhodné adresy IP.

2 (a) Provedením následujícího příkazu otevřete port k Internetu:

      ufw allow mysql/tcp

2 (b) Prove te následující příkaz pro otevření portu pro konkrétní IP adresu

      ufw allow from IPADDRESS to any port 3306 proto tcp

Jak propojím databázi MySQL?

Jakmile spustíte Instance MySQL.Vy se může připojit k databázi ze stejné instance pomocí mysql klientský nástroj..

  • Připojte se k instanci/uzlu/stroji prostřednictvím SSH pomocí rootu přihlašovací údaje uživatele.
           ssh root@<public IP>
  • Spusťte následující příkaz pro přihlášení k databázi mysql
         # mysql -u root -p

Budete vyzváni k zadání kořenového adresáře uživatelské heslo…

Jak povolit vzdálený přístup IP adresy MYSQL?

Ve výchozím nastavení MySQL neumožňuje vzdáleným klientům připojení k databázi MySQL. Pokud se snažíte vzdáleně získat přístup k databázi MYSQL vašeho serveru, je nápadné, že dostanete odpověď podobnou této:

“ERROR 1130: Host is not allowed to connect to this MySQL server”
Example:
$ mysql -h XXX.168.X.8 -u root -p
Enter password:
ERROR 1130: Host 'xxx.xx.x.x' is not allowed to connect to this MySQL server

Řešení :

Chcete-li tuto chybu překonat, můžete konkrétnímu klientovi povolit ip -adresa (statická IP) pro přístup k databázi MySQL běžící na serveru. Na serveru, na kterém běží databáze MySQL, byste měli provést následující příkaz:

 $ /opt/bitnami/mysql/bin/mysql -u root -p
Enter password:
mysql> use mysql
mysql> GRANT ALL ON *.* to root@'XXX.XXX.X.X' IDENTIFIED BY 'your-root-password';
mysql> FLUSH PRIVILEGES;

Nahraďte „XXX.XXX.X.X“ ve výše uvedeném příkladu svou statickou IP adresou a heslem root namísto „hesla vašeho roota“.

Poznámka:Toto bude fungovat pouze v případě, že provozujete internet na službě založené na statickém IP.

Statická IP adresa je číslo, které je počítači přiděleno poskytovatelem internetových služeb (ISP) jako jeho trvalá adresa na internetu.

Provedení výše uvedených příkazů poskytne přístup k jedné konkrétní statické IP, pomocí které lze vzdáleně přistupovat k MYSQL.

Aktualizujte také pravidla brány firewall, abyste se ujistili, že port č. 3306 v UFW je otevřený na serveru, na kterém běží mysql databáze.

Jak optimalizovat výkon MySQL pomocí MySQLTuner

Nástroje, které mohou pomoci optimalizovat MySQL:

Chcete-li zjistit, zda je třeba vaši databázi MySQL překonfigurovat, je nejlepší se podívat na to, jak si nyní vedou vaše zdroje. To lze provést pomocí příkazu top nebo pomocí monitorovací služby E2E. Přinejmenším byste se měli seznámit s využitím paměti RAM a CPU vašeho serveru, které lze zjistit pomocí těchto příkazů:

#echo [PID]  [MEM]  [PATH] &&  ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20
#ps -eo pcpu,pid,user,args | sort -k 1 -r | head -20

MySQLTuner:

Skript MySQLTuner vyhodnotí vaši instalaci MySQL instalace, a poté vytvoří návrhy pro zvýšení výkonu a stability vašeho serveru.

  • Chcete-li nainstalovat mysqltuner , stáhněte si mysqltuner skript .pl. Můžete si jej například stáhnout pomocí wget :
#wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
  • Chcete-li monitorovat server MySQL nainstalovaný pomocí zásobníku Bitnami, předejte hodnoty připojení přes příkazový řádek, jak je znázorněno níže. Všimněte si, že budete potřebovat Perl nainstalovaný v systému.
#perl mysqltuner.pl --socket /opt/bitnami/mysql/tmp/mysql.sock
  • Skript vrátí výsledky podobné výstupu níže:

MySQLTuner nabízí návrhy, jak zlepšit výkon databáze. Pokud jste opatrní při aktualizaci databáze sami, následování návrhů MySQLTuner je jedním z bezpečnějších způsobů, jak zlepšit výkon databáze.

Ladění MySQL:

Při změně konfigurace MySQL dávejte pozor na změny a na to, jak ovlivňují vaši databázi. I když se budete řídit pokyny programů, jako je MySQLTuner, je nejlepší tomuto procesu trochu rozumět.

Konfigurační soubor Bitnami MySQL uložený v následujícím umístění:/opt/bitnami/mysql/my.cnf.

Poznámka:Před aktualizací konfigurace MySQL vytvořte zálohu moje soubor .cnf:

    # cp /opt/bitnami/mysql/my.cnf ~/my.cnf.backup

Osvědčený postup doporučuje provádět změny, jednu po druhé, a poté po každé změně sledovat server. Po každé změně byste měli restartovat MySQL:

Restartujte server:

     # /opt/bitnami/ctlscript.sh restart mysql

Při změně hodnot v souboru my.cnf se ujistěte, že řádek, který měníte, nebyl zakomentován předponou libry (#).

key_buffer

Změna key_buffer alokuje více paměti MySQL, což může podstatně zrychlit vaše databáze, za předpokladu, že máte volnou paměť. Velikost key_buffer by obecně neměla zabírat více než 25 procent systémové paměti při použití tabulkového enginu MyISAM a až 70 procent v případě InnoDB. Pokud je hodnota nastavena příliš vysoko, dochází k plýtvání zdroji.

Podle dokumentace MySQL se pro servery s 256 MB (nebo více) RAM s mnoha tabulkami doporučuje nastavení 64 MB. Servery se 128 MB RAM a méně tabulkami lze nastavit na 16 M, což je výchozí hodnota. Weby s ještě menším počtem zdrojů a tabulek mohou mít tuto hodnotu nastavenou níže.

max_allowed_packet

Tento parametr umožňuje nastavit maximální velikost odesílatelného paketu. Paket je jeden stav SQL, jeden řádek odesílaný klientovi nebo protokol odesílaný z masteru na slave. Pokud víte, že váš server MySQL bude zpracovávat velké pakety, je nejlepší toto zvýšit na velikost vašeho největšího paketu. Pokud je tato hodnota nastavena příliš malá, zobrazí se chyba v protokolu chyb.

thread_stack

Tato hodnota obsahuje velikost zásobníku pro každé vlákno. MySQL považuje výchozí hodnotu proměnné thread_stack za dostatečnou pro běžné použití; pokud by se však zaprotokolovala chyba týkající se zásobníku vláken, lze toto číslo zvýšit.

thread_cache_size

Pokud je thread_cache_size „vypnuto“ (nastaveno na 0), pak každé nově vytvářené připojení vyžaduje vytvoření nového vlákna. Když se spoje rozpojí, závit se zničí. V opačném případě tato hodnota nastavuje počet nepoužívaných vláken, která se mají uložit do mezipaměti, dokud je nebude nutné použít pro připojení. Obecně má toto nastavení malý vliv na výkon, pokud nepřijímáte stovky připojení za minutu, kdy by měla být tato hodnota zvýšena, aby bylo možné většinu připojení vytvořit na vláknech uložených v mezipaměti.

Pool vyrovnávací paměti InnoDB

Vyrovnávací paměť InnoDB je paměťový prostor, který obsahuje mnoho datových struktur InnoDB v paměti, vyrovnávacích pamětí, mezipamětí, indexů a dokonce i řádkových dat. innodb_buffer_pool_size je konfigurační parametr MySQL, který určuje množství paměti alokované do fondu vyrovnávacích pamětí InnoDB pomocí MySQL. Toto je jedno z nejdůležitějších nastavení v konfiguraci hostingu MySQL a mělo by být nakonfigurováno na základě dostupné systémové RAM.

80 % je možná skvělý začátek a pravidlo. Chcete si být jisti, že server má dostatek volné paměti RAM pro operační systém a obvykle neznámé pracovní zatížení. Jak však vidíme níže, čím větší je server, tím je pravděpodobnější, že pravidlo způsobí plýtvání RAM. Myslím si, že pro většinu lidí to začíná a končí podle základního pravidla, většinou proto, že změna fondu vyrovnávací paměti InnoDB vyžaduje restart v aktuálních verzích.

Celkový fond vyrovnávací paměti RAM serveru s pravidlem 80 % zbývající RAM

1G                                 800 MB           200 MB

16G                               13G              3G

32G                                26G              6G

64G                                51G               13G

128G                              102G             26G

256G                             205G               51G

512G                              409G               103G

1024G                           819G                 205G

Jaké je tedy lepší pravidlo? Mým pravidlem je, že co největší velikost innodb_buffer_pool_size bez použití swapu, když je v systému spuštěna produkční zátěž. V zásadě to zní dobře, ale opět to vyžaduje spoustu restartů a může být snáze řečeno, než uděláno.

max_connections

Tento parametr nastavuje maximální počet souběžných připojení. Před nastavením tohoto čísla je nejlepší zvážit maximální počet připojení, která jste měli v minulosti, takže mezi tímto horním číslem a hodnotou max_connections budete mít vyrovnávací paměť. Upozorňujeme, že toto neoznačuje maximální počet uživatelů na vašem webu najednou; spíše ukazuje maximální počet uživatelů, kteří podávají požadavky současně.

table_cache

Tato hodnota by měla být vyšší než vaše hodnota open_tables. K určení této hodnoty použijte:

ZOBRAZIT STAV JAKO „otevřeno %“;


Cent OS
  1. Optimalizujte databázi MySQL

  2. Jak zkopírovat databázi MySQL

  3. Jak nainstalovat databázový server MySQL na CentOS

  1. Jak změnit řazení databáze MySQL?

  2. Vylepšete mezipaměť databáze MySQL

  3. Jak opravit poškozenou tabulku databáze MySQL

  1. Jak nainstalovat databázový server MySQL 8 na CentOS 8

  2. Jak nainstalovat MySQL 8.0 na CentOS/RHEL 8

  3. CWP MySQL Manager