Показать статистику
0 голосов
от (2.3тыс. баллов)

В чем основные особенности MySQL и как правильно устанавливать?

1.1тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (26.4тыс. баллов)

MySQL по-праву считается самой популярной системой для управления базами данных в мире. Это база данных с открытым исходным кодом. Она чаще всего устанавливается как часть стека LAMP (Linux - Apache - MySQL - PHP). MySQL - это реляционная база данных, работающая с языком структурированных запросов (SQL). Рассмотрим последовательность дейстей для установки MySQL на сервер Ubuntu.

Требования

Перед установкой MySQL рекомендуется выполнить обновление пакетов, установленных в системе. Это поможет избежать проблем с совместимостью в дальнейшем.

Приступим к установке

В последних версиях Ubuntu, MySQL по умолчанию доступен в репозитории пакетов APT. Для успешного процесса установки, обновление индекса пакета на сервере необходимо выполнить с помощью «apt».

sudo apt update

После этого завершите установку пакета по умолчанию.

sudo apt-get install mysql-server

Таким образом, MySQL будет установлен. Но установка пароля и изменение конфигурации не разрешены в целях безопасности.

Настройка MySQL

Во время установки можно выполнить скрипт для повышения безопасности MySQL. Этот скрипт проанализирует учетные записи пользователей MySQL с административными привелениями (root, admin и т.п.) и выключит все лишнее. В последних версиях MySQL этот скрипт  запускается автоматически, тогда как в более старых версиях требовалось запускать этот скрипт вручную.

sudo mysql_secure_installation

Вам будут предложены шаги для внесения необходимых изменений в параметры безопасности MySQL. В первом запросе будет задан вопрос о том, хотите ли вы установить плагин для паролей, чтобы проверить надежность пароля MySQL. Вторая нотификация попросит вас установить пароль рута MySQL. Подтвердите выбранный пароль.

После, нажав « Y » и « Ввод », примутся значения по умолчанию. При этом анонимные пользователи и тестовая база данных будут удалены. Это также отключит удаленный вход в систему для root и активирует новые правила безопасности, установленные скриптом.

Для инициализации каталога данных MySQL применяйте команду « mysql_install_db » для предыдущих версий 5.7.6, а для версий после этого используйте « mysqld –initialize» . Если MySQL установлен из дистрибутива Debian, каталог данных инициализируется по умолчанию. Никаких дополнительных действий не требуется.

Следует отметить, что установка пароля для корневого пользователя MySQL не гарантирует, что пользователь имеет аутентификацию с паролем для подключения к оболочке MySQL. При необходимости, следуя шагу 3, вы можете отрегулировать этот параметр.

Настройка аутентификации пользователя и привилегий (необязательно)

Пароль не используется, но подключаемый модуль по умолчанию « auth_socket» используется для аутентификации пользователя root MySQL в системах Ubuntu, работающих под управлением последних версий MySQL (5.7 и более поздние). Хотя это допускает некоторую большую безопасность и простоту использования, в некоторых случаях, например, разрешение доступа внешней программы к пользователю, это может создать сложный сценарий.

Для использования пароля в качестве root для MySQL необходимо изменить метод аутентификации. Это изменение аутентификации имеет форму « auth_socket » на « mysql_native_password» . В терминале откройте приглашение MySQL для выполнения этого действия.

sudo mysql

После этого с помощью следующей команды проверьте метод аутентификации пользователя вашей учетной записи MySQL.

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
 

В примере, приведенном выше, видно, что используется плагин auth_socket ; пользователь root завершит процесс аутентификации. Чтобы настроить верно учетную запись root для аутентификации с использованием пароля, необходимо выполнить следующую команду « ALTER USER» . Выберите надежный пароль и учтите, что пароль root, настроенный на шаге 2, будет изменен с помощью этой команды.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Затем выполните следующую команду, чтобы перезагрузить таблицы грантов и применить новые изменения.

mysql> FLUSH PRIVILEGES;

Вам также необходимо проверить методы аутентификации, назначенные каждым пользователем, чтобы убедиться, что root не аутентифицируется с помощью плагина « auth_socket ».

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
 

На этом примере вы можете видеть, что аутентификация выполняется пользователем MySQL root с использованием пароля. После подтверждения на сервере вы можете выйти из оболочки.

mysql> exit

Теперь настало время протестировать установку MySQL.

Тестирование установки MySQL

Независимо от того, как вы установили MySQL, он должен был начать работать автоматически. С помощью следующей команды проверьте его статус.

sudo systemctl status mysql.service

Вы можете начать с:

sudo systemctl start mysql

Если MySQL не запускается. Вы можете попробовать другой способ подключения к базе данных, используя инструмент « mysqladmin » для дополнительной проверки. Это клиент, позволяющий запускать административные команды.

sudo mysqladmin -p -u root version

Это указывает на то, что MySQL запущен и работает.

Подводя итог

Теперь MySQL установлен на вашем сервере Ubuntu. Для удобства использования вы можете изменить его. Кроме того, добавление мер также возможно для повышения безопасности.

...