MySQL je populární systém pro správu databází, který se používá jako poskytovatel úložiště dat pro tisíce webových a serverových aplikací. Tato příručka pomůže začátečníkům začít s MySQL na Ubuntu 10.10 (Maverick) Linode. Předpokládá se, že jste postupovali podle kroků uvedených v našem Nastavení a zabezpečení výpočetní instance, že váš systém je aktuální a že jste se do Linode přihlásili jako root přes SSH.
Základní konfigurace systému
Upravte /etc/hosts
aby se podobal následujícímu příkladu. Nahraďte „example.com“ svým vlastním názvem domény a vyberte jedinečný název, kterým nahradíte „systemname“. Toto bude FQDN vašeho systému (plně kvalifikovaný název domény). Nahraďte „12.34.56.78“ IP adresou vašeho Linode.
- Soubor:/ etc/hosts
1 2
127.0.0.1 localhost.localdomain localhost 12.34.56.78 systemname.example.com systemname
Chcete-li nastavit název hostitele vašeho systému, zadejte následující příkazy a nahraďte „systemname“ krátkým názvem hostitele, který jste vybrali výše.
echo "systemname" > /etc/hostname
hostname -F /etc/hostname
Instalovat MySQL
Ujistěte se, že jsou vaše úložiště balíčků a nainstalované programy aktuální, zadáním následujících příkazů:
apt-get update
apt-get upgrade --show-upgraded
Začněte zadáním následujícího příkazu ve svém terminálu:
apt-get install mysql-server
Budete vyzváni k nastavení hesla pro uživatele root MySQL. Zvolte si silné heslo a uschovejte ho na bezpečném místě pro budoucí použití.
Balíček serveru MySQL bude nainstalován na váš server spolu se závislostmi a klientskými knihovnami. Po instalaci MySQL se doporučuje spustit mysql_secure_installation
abychom pomohli zabezpečit MySQL. Doporučuje se přijmout výchozí odpovědi programu. Pokud se zobrazí výzva k opětovnému načtení oprávnění, vyberte „ano“. Spusťte následující příkaz ke spuštění programu:
mysql_secure_installation
Po spuštění mysql_secure_installation
, MySQL je zabezpečená a připravená ke konfiguraci.
Konfigurace MySQL
Ve výchozím nastavení MySQL vytváří určité předpoklady o prostředí vašeho serveru s ohledem na paměť. Chcete-li konfigurovat MySQL konzervativněji, budete muset upravit některá nastavení v jeho konfiguračním souboru. Váš soubor by měl vypadat takto:
- Soubor:/ etc/mysql/my.cnf
1 2 3 4 5 6
key_buffer = 16M max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
Tato nastavení jsou pouze doporučené hodnoty pro prostředí s nízkou pamětí; prosím, můžete je naladit na vhodné hodnoty pro váš server. Další zdroje k tomuto tématu naleznete v části „Další informace“ na konci tohoto kurzu.
Pokud jste provedli nějaké změny v konfiguraci MySQL, restartujte ji zadáním následujícího příkazu:
restart mysql
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 bezpečný vzdálený přístup k MySQL.
Povolení neomezeného přístupu k MySQL na veřejné IP se nedoporučuje, ale můžete změnit adresu, na které naslouchá, úpravou bind-address
parametr. Pokud se rozhodnete svázat MySQL s vaší veřejnou IP, měli byste implementovat pravidla brány firewall, která povolují připojení pouze z konkrétních IP adres.
Používání MySQL
Standardním nástrojem pro interakci s MySQL je mysql
klientský program. Chcete-li začít, zadejte na výzvu následující příkaz:
mysql -u root -p
Budete vyzváni k zadání hesla uživatele root MySQL. Zadejte heslo, které jste přiřadili při instalaci MySQL, a zobrazí se vám obrazovka monitoru MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.1.49-1ubuntu8 (Ubuntu)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Pokud jste zapomněli heslo uživatele root, použijte ke změně hesla nástroj pro změnu konfigurace balíčku:
dpkg-reconfigure mysql-server-5.1
Chcete-li vygenerovat seznam příkazů pro výzvu MySQL, zadejte \h
:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement 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říme databázi a přiřadíme k ní uživatele. Na výzvu MySQL zadejte následující příkazy:
CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit
Nyní se přihlásíme zpět do klienta MySQL jako testuser
a vytvořte vzorovou tabulku s názvem „zákazníci“. Zadejte následující příkazy:
mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
Tím se vytvoří tabulka s polem ID zákazníka typu INT pro celé číslo (automaticky se zvýší pro nové záznamy a použije se jako primární klíč) a také se dvěma poli pro uložení jména zákazníka.
Ve výchozím nastavení bude přístup k databázím omezen na připojení z localhost. Chcete-li bezpečně spravovat své databáze ze vzdáleného umístění, postupujte podle našeho průvodce pro bezpečnou správu mysql pomocí tunelu SSH. Není je dobrým zvykem provozovat MySQL na vaší veřejné IP adrese, pokud k tomu nemáte velmi dobrý důvod.
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.1
- Příručka PHP MySQL
- Příklady DBI v Perlu pro DBD::mysql
- Uživatelská příručka MySQLdb