Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Невозможно подключиться по паролю после установки MariaDB 10

При установке MariaDB 10 на чистую ubuntu, инсталлер не запросил ввести пароль, а после установки подключиться к mysql стало возможно только через терминал. В противном случае возвращается ошибка ERROR 1698 (28000): Access denied for user 'root'@'localhost'. Почему так получилось и что с этим делать? Об этом и поговорим.

Дело в том, что при установке подключается плагин auth_socket для суперпользователя. Он содержится в поставке MariaDB начиная с версии 5.2.0, что в плане безопасности очень правильно. Но если по какой-то причине вам нужно его отключить, то об этом в следующем обзаце.

Чтобы разрешить подключения не только через сокет, нужно отключить использование вышеупомянутого плагина для пользователя root. Все, что нужно - это подключиться через терминал:

mysql -uroot

Выбрать БД mysql и очистить поле plugin в таблице user:

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;

Все готово. Теперь можно подключиться к mysql не только через терминал.

  • 2016-06-10 18:49:36