<šablona x-if=visible><šablona x-if=$isMobile()>
MySQL je populární systém pro správu databází používaný pro webové a serverové aplikace. Tato příručka představí, jak nainstalovat, nakonfigurovat a spravovat MySQL na Linode se systémem Debian 7 (Wheezy).
Velké databáze MySQL mohou vyžadovat značné množství paměti. Z tohoto důvodu pro taková nastavení doporučujeme použít aHigh Memory Linode.
Poznámka Tato příručka je napsána pro uživatele bez oprávnění root. Příkazy, které vyžadují zvýšená oprávnění, mají předponusudo
. Pokud neznátesudo
můžete se podívat na naši příručku Uživatelé a skupiny.
Než začnete
-
Ujistěte se, že jste postupovali podle příruček Začínáme a Zabezpečení serveru a že je nastaven hostitelský název Linode.
Chcete-li zkontrolovat název hostitele, spusťte:
hostname hostname -f
První příkaz by měl zobrazit váš krátký název hostitele a druhý by měl zobrazit váš plně kvalifikovaný název domény (FQDN).
-
Aktualizujte svůj systém:
sudo apt-get update sudo apt-get upgrade
Instalovat MySQL
sudo apt-get install mysql-server
Během procesu instalace budete vyzváni k nastavení hesla pro uživatele root MySQL, jak je uvedeno níže. Zvolte si silné heslo a uschovejte ho na bezpečném místě pro budoucí použití.
MySQL se standardně váže na localhost (127.0.0.1). Informace o připojení k vašim databázím s místními klienty naleznete v naší příručce pro vzdálený přístup MySQL.
Poznámka Povolení neomezeného přístupu k MySQL na veřejné IP se nedoporučuje, ale adresu, na které poslouchá, můžete změnit úpravoubind-address
parametr v/etc/my.cnf
. Pokud se rozhodnete svázat MySQL se svou veřejnou IP, měli byste implementovat pravidla brány firewall, která povolují připojení pouze z konkrétních IP adres.
Harden MySQL Server
Spusťte mysql_secure_installation
skript, který řeší několik bezpečnostních problémů ve výchozí instalaci MySQL.
sudo mysql_secure_installation
Budete mít možnost změnit heslo root MySQL, odebrat anonymní uživatelské účty, zakázat přihlášení root mimo localhost a odebrat testovací databáze. Na tyto možnosti se doporučuje odpovědět ano. Více o skriptu si můžete přečíst v referenční příručce MySQL.
Používání MySQL
Standardním nástrojem pro interakci s MySQL je mysql
klient, který se instaluje pomocí mysql-server
balík. Klient MySQL se používá prostřednictvím terminálu.
Přihlášení uživatele root
-
Chcete-li se přihlásit do MySQL jako uživatel root:
mysql -u root -p
-
Po zobrazení výzvy zadejte heslo uživatele root. Poté se vám zobrazí uvítací hlavička a výzva MySQL, jak je uvedeno níže:
mysql>
-
Chcete-li vygenerovat seznam příkazů pro výzvu MySQL, zadejte
\h
. Poté uvidíte:List of all MySQL commands: Note that all text commands must be first on line and end with ';' ? (\?) Synonym for `help'. clear (\c) Clear command. connect (\r) Reconnect to the server. Optional arguments are db and host. delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter. edit (\e) Edit command with $EDITOR. ego (\G) Send command to mysql server, display result vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. help (\h) Display this help. nopager (\n) Disable pager, print to stdout. notee (\t) Don't write into outfile. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\p) Print current command. prompt (\R) Change your mysql prompt. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute an SQL script file. Takes a file name as an argument. status (\s) Get status information from the server. system (\!) Execute a system shell command. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. warnings (\W) Show warnings after every statement. nowarning (\w) Don't show warnings after every statement. For server side help, type 'help contents' mysql>
Vytvoření nového uživatele a databáze MySQL
-
V níže uvedeném příkladu
testdb
je název databáze,testuser
je uživatel apassword
je heslo uživatele.create database testdb; create user 'testuser'@'localhost' identified by 'password'; grant all on testdb.* to 'testuser' identified by 'password';
-
Poté ukončete MySQL.
exit
Vytvoření ukázkové tabulky
-
Přihlaste se zpět jako
testuser
.mysql -u testuser -p
-
Vytvořte vzorovou tabulku s názvem
customers
. Tím se vytvoří tabulka s polem ID zákazníka typuINT
pro celé číslo (automaticky inkrementováno pro nové záznamy, používá se jako primární klíč) a také dvě pole pro uložení jména zákazníka.use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
-
Poté ukončete MySQL.
exit
Obnovení hesla kořenového adresáře MySQL
Pokud zapomenete své kořenové heslo pro MySQL, lze jej resetovat.
-
Zastavte aktuální instanci serveru MySQL.
sudo /etc/init.d/mysql stop
-
Pomocí dpkg znovu spusťte konfigurační proces, kterým MySQL prochází při první instalaci. Znovu budete požádáni o nastavení hesla uživatele root.
sudo dpkg-reconfigure mysql-server-5.5
dpkg automaticky restartuje MySQL a budete se moci přihlásit pomocí mysql -u root -p
.
Vylaďte MySQL
MySQL Tuner je skript v Perlu, který se připojuje k běžící instanci MySQL a poskytuje doporučení pro konfiguraci na základě pracovního vytížení. V ideálním případě by instance MySQL měla být v provozu alespoň 24 hodin před spuštěním tuneru. Čím déle instance běží, tím lepší rady vám MySQL Tuner poskytne.
-
Nainstalujte MySQL Tuner z repozitářů Ubuntu.
sudo apt-get install mysqltuner
-
Chcete-li jej spustit:
mysqltuner
Budete požádáni o jméno a heslo uživatele root MySQL. Výstup zobrazí dvě oblasti zájmu:Obecná doporučení a Proměnné k úpravě.
MySQL Tuner je vynikajícím výchozím bodem pro optimalizaci serveru MySQL, ale bylo by rozumné provést další průzkum konfigurací přizpůsobených aplikacím využívajícím MySQL na vašem Linode.
Další informace
Další informace o tomto tématu můžete získat v následujících zdrojích. Přestože jsou poskytovány v naději, že budou užitečné, vezměte prosím na vědomí, že nemůžeme ručit za přesnost nebo aktuálnost externě hostovaných materiálů.
- Referenční příručka MySQL 5.5
- Příručka PHP MySQL
- Příklady DBI v Perlu pro DBD::mysql
- Uživatelská příručka MySQLdb
- Výukový program MySQL Tuner