MySQL е популярна система за управление на бази данни, използвана за уеб и сървърни приложения. Това ръководство ще представи как да инсталирате, конфигурирате и управлявате MySQL на Linode, работещ с Ubuntu 12.04 LTS (Precise Pangolin).
Забележка Това ръководство е написано за потребител без root права. Командите, които изискват повишени привилегии, имат префикс сsudo
. Ако не сте запознати сsudo
команда, можете да проверите нашето ръководство за потребители и групи.
Предварителни условия
-
Ако все още не сте го направили, създайте акаунт в Linode и Compute Instance. Вижте нашите ръководства Първи стъпки с Linode и Създаване на изчислителен екземпляр.
-
Следвайте нашето ръководство за настройка и защита на компютърен екземпляр, за да актуализирате системата си и да конфигурирате името на хоста си. Може също да пожелаете да зададете часовата зона, да създадете ограничен потребителски акаунт и да укрепите SSH достъпа.
За да проверите името на хоста си, изпълнете:
hostname hostname -f
Първата команда трябва да показва вашето кратко име на хост, а втората трябва да показва вашето напълно квалифицирано име на домейн (FQDN), ако имате назначен такъв.
Инсталирайте MySQL
sudo apt-get install mysql-server
По време на инсталационния процес ще бъдете подканени да зададете парола за MySQL root потребител, както е показано по-долу. Изберете силна парола и я пазете на сигурно място за бъдещи справки.
MySQL ще се свърже с localhost (127.0.0.1) по подразбиране. Моля, вижте нашето ръководство за отдалечен достъп до MySQL за информация относно свързването с вашите бази данни чрез SSH тунел.
Забележка Разрешаването на неограничен достъп до MySQL на публичен IP не се препоръчва, но можете да промените адреса, който слуша, като променитеbind-address
параметър в/etc/my.cnf
. Ако решите да свържете MySQL към вашия публичен IP адрес, трябва да приложите правила за защитната стена, които позволяват връзки само от конкретни IP адреси.
Harden MySQL сървър
Изпълнете скрипта mysql_secure_installation, за да разрешите няколко опасения за сигурността при инсталация на MySQL по подразбиране.
sudo mysql_secure_installation
Ще ви бъде даден избор да промените MySQL root паролата, да премахнете анонимни потребителски акаунти, да деактивирате влизането в root база данни извън localhost и да премахнете тестови бази данни. Препоръчително е да отговорите с „да“ на тези опции. Можете да прочетете повече за скрипта в Справочното ръководство за MySQL.
Внедряване на MySQL
Стандартният инструмент за взаимодействие с MySQL е mysql
клиент, който се инсталира с mysql-server
пакет.
Root вход
-
За да влезете в MySQL като root потребител:
mysql -u root -p
-
Когато бъдете подканени, въведете root паролата, която сте задали при
mysql_secure_installation
скриптът беше стартиран.След това ще ви бъде представена подканата за монитора на 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>
-
За да генерирате списък с команди за подканата на MySQL, въведете
\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 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>
Създайте нов потребител и база данни на MySQL
-
В примера по-долу,
testdb
е името на базата данни,testuser
е потребителят иpassword
е паролата на потребителя.create database testdb; create user 'testuser'@localhost identified by 'password'; grant all on testdb.* to 'testuser';
Можете да съкратите този процес, като създадете потребителя while задаване на разрешения за база данни:
create database testdb; grant all on testdb.* to 'testuser' identified by 'password';
-
Излезте от MySQL.
exit
Създайте примерна таблица
-
Влезте отново като
testuser
.mysql -u testuser -p
-
Създайте примерна таблица, наречена
customers
. Това създава таблица с поле за идентификация на клиента от типаINT
за цяло число (автоматично увеличено за нови записи, използвано като първичен ключ), както и две полета за съхранение на името на клиента.use testdb; create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
-
След това излезте от MySQL.
exit
Нулиране на паролата за MySQL Root
Ако забравите вашата root MySQL парола, тя може да бъде нулирана.
-
Спрете текущия екземпляр на MySQL сървър.
sudo service mysql stop
-
Използвайте dpkg, за да стартирате отново процеса на конфигуриране, през който MySQL преминава при първата инсталация. Отново ще бъдете помолени да зададете root парола.
sudo dpkg-reconfigure mysql-server-5.5
Вече ще можете да влезете отново, като използвате mysql -u root -p
.
Настройте MySQL
MySQL Tuner е Perl скрипт, който се свързва с работещ екземпляр на MySQL и предоставя препоръки за конфигурация въз основа на работното натоварване. В идеалния случай MySQL екземплярът трябва да работи поне 24 часа, преди да стартира тунера. Препоръките за MySQL Tuner ще бъдат по-прецизни, колкото по-дълго е работил екземплярът.
-
Инсталирайте MySQL Tuner от хранилищата на Ubuntu.
sudo apt-get install mysqltuner
-
За да го стартирате:
mysqltuner
Ще бъдете помолени за името и паролата на root потребителя на MySQL. Резултатът ще покаже две области на интерес:Общи препоръки и Променливи за коригиране.
MySQL Tuner е отлична отправна точка за оптимизиране на MySQL сървър, но се препоръчват допълнителни проучвания за конфигурации, съобразени с приложението(ата), използващо MySQL на вашия Linode.
Повече информация
Може да пожелаете да се консултирате със следните ресурси за допълнителна информация по тази тема. Въпреки че те са предоставени с надеждата, че ще бъдат полезни, моля, имайте предвид, че не можем да гарантираме за точността или навременността на външно хостваните материали.
- Справочно ръководство за MySQL 5.1
- Ръководство за PHP MySQL
- Примери за Perl DBI за DBD::mysql
- Ръководство за потребителя на MySQLdb