Как установить MySQL на Ubuntu 16.04
Введение
Стек LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Он использует реляционную базу данных и SQL (язык структурированных запросов) для управления своими данными.
Краткая версия установки проста: обновите индекс вашего пакета, установите пакет mysql-server
, а затем запустите прилагаемый скрипт безопасности.
- sudo apt-get update
- sudo apt-get install mysql-server
- mysql_secure_installation
В этом руководстве объясняется, как установить MySQL версии 5.7 на сервер Ubuntu 16.04. Однако, если вы хотите обновить существующую установку MySQL до версии 5.7, вы можете вместо этого прочитать это руководство по обновлению MySQL 5.7.
Предпосылки
Чтобы следовать этому руководству, вам понадобятся:
- Один сервер Ubuntu 16.04, настроенный в соответствии с этим руководством по начальной настройке сервера, включая пользователя без полномочий root и брандмауэр.
Шаг 1 — Установка MySQL
В Ubuntu 16.04 по умолчанию в репозиторий пакетов APT включена только последняя версия MySQL. На момент написания это MySQL 5.7.
Чтобы установить его, просто обновите индекс пакета на своем сервере и установите пакет по умолчанию с помощью apt-get
.
- sudo apt-get update
- sudo apt-get install mysql-server
Во время установки вам будет предложено создать пароль root. Выберите безопасный и убедитесь, что вы помните его, потому что он понадобится вам позже. Далее мы закончим настройку MySQL.
Шаг 2 — Настройка MySQL
Для новых установок вам нужно запустить включенный скрипт безопасности. Это изменяет некоторые менее безопасные параметры по умолчанию для таких вещей, как удаленный вход в систему root и примеры пользователей. В более старых версиях MySQL вам также нужно было инициализировать каталог данных вручную, но теперь это делается автоматически.
Запустите скрипт безопасности.
- mysql_secure_installation
Вам будет предложено ввести пароль root, который вы создали на шаге 1. Вы можете нажать Y
, а затем ENTER
, чтобы принять значения по умолчанию для всех последующих вопросов, за исключением тот, который спрашивает, хотите ли вы изменить пароль root. Вы просто установили его на шаге 1, поэтому вам не нужно его менять сейчас. Более подробное пошаговое руководство по этим параметрам см. в этом шаге руководства по установке LAMP.
Чтобы инициализировать каталог данных MySQL, вы должны использовать mysql_install_db
для версий до 5.7.6 и mysqld --initialize
для 5.7.6 и более поздних версий. Однако, если вы установили MySQL из дистрибутива Debian, как на шаге 1, каталог данных инициализировался автоматически; вам не нужно ничего делать. Если вы все равно попытаетесь запустить команду, вы увидите следующую ошибку:
2016-03-07T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
Наконец, давайте проверим установку MySQL.
Шаг 3 — Тестирование MySQL
Независимо от того, как вы его установили, MySQL должен был запуститься автоматически. Чтобы проверить это, проверьте его статус.
- systemctl status mysql.service
Вы увидите вывод, подобный следующему:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Wed 2016-11-23 21:21:25 UTC; 30min ago
Main PID: 3754 (mysqld)
Tasks: 28
Memory: 142.3M
CPU: 1.994s
CGroup: /system.slice/mysql.service
└─3754 /usr/sbin/mysqld
Если MySQL не запущен, вы можете запустить его с помощью sudo systemctl start mysql
.
Для дополнительной проверки вы можете попробовать подключиться к базе данных с помощью инструмента mysqladmin
, который представляет собой клиент, позволяющий выполнять административные команды. Например, эта команда предлагает подключиться к MySQL как root (-u root
), запросить пароль (-p
) и вернуть версию.
- mysqladmin -p -u root version
Вы должны увидеть вывод, похожий на этот:
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.16-0ubuntu0.16.04.1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 30 min 54 sec
Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Queries per second avg: 0.006
Это означает, что MySQL запущен и работает.
Заключение
Теперь у вас есть базовая установка MySQL, установленная на вашем сервере. Вот несколько примеров следующих шагов, которые вы можете предпринять:
- Примите дополнительные меры безопасности.
- Переместить каталог данных
- Управляйте своими серверами MySQL с помощью SaltStack
- Подробнее о командах MySQL