Установка MySQL Server в Ubuntu 18.04 Bionic Beaver

Всем привет. Совсем недавно был официальный релиз Ubuntu 18.04 Bionic Beaver, ну и конечно же многие ринулись обновлятся или делать чистую установку системы. Конечно инетересно что же там Canonical предложили в этом историческом, для всех нас, релизе. Интерес интересом, а вот основной функцонал все же нужно использовать. Например MySQL Server 5.7, который идет по умолчанию в составе доступных пакетов apt. И все вроде как обычно, что нужно чтобы установить MySQL  в  Ubuntu 18.04 Bionic Beaver:

sudo apt install mysql-server

Вуаля, сервер установлен, но что-то вроде как упущено, не ? Что-то в момент установки было не так как обычно… Установщик mysql-server  не спросил default password для root пользователя. ТОЧНО!  А что теперь делать? Какой пароль?
Даже баг зарепортили https://bugs.launchpad.net/serverguide/+bug/1752215
И даже пофиксили и зарелизили, только кому и куда не понятно, потому как stable релиз продолжает на текущий момент поставлять пакет mysql-server который тупо не спрашивет установку дефолтного root пароля. Ну да ладно, это на совести Canonical и Oracle.
В данной инструкции я расскажу как сбросить и установить свой пароль для root пользователя MySQL в условиях реалий 18.04.  Приступим:

  1. Начнем с остановки MySQL сервера:
sudo service mysql stop

2. Далее, создадим директорию /var/run/mysqld, которая будет использоваться процессом MySQL для хранения доступа к файлу сокета:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

3.  После стартуем MySQL Server  в ручном режиме с ипользованием следующей коменды и опций:

sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
  1. На этом этапе мы уже имеем возможность подключится к MySQL серверу без root пароля. Подключаемся.
mysql -u root
  1. После подключения, первым делом делаем flush privileges:
mysql> FLUSH PRIVILEGES;
  1. Следующим шагом делаем резет пароля для root пользователя. Внимение! Следующая команда установит пароль freshnotes.org для root пользователя:
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('freshnotes.org');

На этом этапе происходит раделение на тех, у кого есть ошибка Plugin ‘auth_socket’ is not loaded и на тех у кого нет.
Итак, те у кого такой ошибки не возникло и консоль сообщила что-то типа Query OK, 0 rows affected, 1 warning (0.00 sec) пропускаем этот блок и сразу переходим к пункту 7 этой статьи.
Для тех у кого есть описанная выше ошибка при создании нового пароля, делаем следующее:

Во-первых, не выходя из текущей сессии MySQL говорим использовать базу mysql командой:

use mysql;

Во-вторых,  после того как консоль сообщила что-то типа «Database changed» выполняем три следующие команды:

update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root';
flush privileges;

В-третьих, снова выполняем команду по установке нового пароля для root пользователя и обновляем привилегии:

SET PASSWORD FOR root@'localhost' = PASSWORD('freshnotes.org');
flush privileges;
  1. Выходим из текущей сессии MySQL:
mysql> quit

8.  Перезапускаем сервер MySQL:

sudo service mysql restart

Если все прошло правильно, теперь вы можете подключится к MySQL Server используя root пользователя и пароль «freshnotes.org».  Естественно указаный пароль яляется примером и Вы можете установит вместо него нужный Вам пароль.
Удачи. Если будут вопросы, пишите в комментариях!

3 комментария к “Установка MySQL Server в Ubuntu 18.04 Bionic Beaver”

  1. Изменить пароль root после установки MySQL можно одной командой «sudo mysql_secure_installation»

  2. Евгений

    sudo mysql_secure_installation твоя команда не работает. Точнее она срабатывает,новый пароль для рута запрашивается. Ты его меняешь на тот который тебе нужно , но в итоге все равно он не сеттится и не работает.
    А по этой статье норм получилось все

Оставьте комментарий

%d такие блоггеры, как: