MySQL установка и настройка

Автор: | 28.04.2019

Установим сервер баз данных командой:

  • sudo apt-get install mysql-server

Запустим базовые настройки безопасности:

  • sudo mysql_secure_installation

После запуска команды выше надо будет ответить на несколько вопросов:

  • Skip root password for root — просто нажимаем Enter
  • Install new passwordfor root: security — можно задать пароль для root
  • Do remove an anonymous user — оставить или удалить анонимного юзера
  • Do not disallow remote connections — оставить или запретить доступ к нашему серверу с удаленных серверов
  • Do remove a test database — удалить или оставить тестовую базу
  • Do reload the privileges — сбросить привилегии для активации новых

На серверах с Ubuntu, использующих MySQL 5.7 (и более поздние версии) пользователь root в MySQL по умолчанию аутентифицируется с помощью плагина auth_socket, а не по паролю. Это в целом более безопасно и удобно во многих случаях, но не в случае, когда вам необходимо организовать доступ к MySQL со стороны сторонней программы, например, phpMyAdmin.

Для того, чтобы пользователь root в MySQL мог использовать пароль для входа в систему вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password. Для этого войдем в оболочку MySQL следующей командой:

  • sudo mysql

Далее проверим какой тип аутентификации используется для каждого из ваших пользователей mysql:

  • SELECT user, authentication_string, plugin, host FROM mysql.user

Как мы увидим пользователь root использует аутентификацию с помощью плагина auth_socket. Для изменения этой настройки на использование пароля используйте следующую команду, и не забудьте задать сильный пароль:

  • ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’

Далее выполните команду, которая применит внесенные изменения:

  • FLUSH PRIVILEGES

Проверьте методы авторизации для пользователей еще раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации.