<š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 CentOS 6.
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 yum update
Nainstalovat a spustit MySQL
-
Nainstalujte MySQL a řekněte mu, na kterých úrovních běhu má začít:
sudo yum install mysql-server sudo /sbin/chkconfig --levels 235 mysqld on
-
Poté spusťte server MySQL:
sudo service mysqld start
MySQL se standardně váže na localhost (127.0.0.1). Informace o připojení k databázím pomocí SSH 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, které jste přiřadili při spuštění skriptu mysql_secure_installation.
Poté se vám zobrazí obrazovka monitoru MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 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';
Tento proces můžete zkrátit vytvořením uživatele zatímco přiřazení oprávnění k databázi:
create database testdb; 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é root heslo MySQL, může být vyprázdněno a poté resetováno.
-
Zastavte aktuální instanci serveru MySQL a poté ji restartujte s možností nepožadovat heslo.
sudo /etc/init.d/mysqld stop sudo mysqld_safe --skip-grant-tables &
-
Znovu se připojte k serveru MySQL pomocí kořenového účtu MySQL.
mysql -u root
-
Pro resetování hesla roota použijte následující příkazy. Nahraďte
password
se silným heslem.use mysql; update user SET PASSWORD=PASSWORD("password") WHERE USER='root'; flush privileges; exit
-
Poté restartujte MySQL.
sudo service mysqld restart
Nyní se budete moci znovu 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.
-
Stáhněte si MySQL Tuner do svého domovského adresáře.
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
-
Chcete-li jej spustit:
perl ./mysqltuner.pl
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.1
- Příručka PHP MySQL
- Příklady DBI v Perlu pro DBD::mysql
- Uživatelská příručka MySQLdb