В Ubuntu 15.10 в определенный момент (возможно, после установки и удаления mariadb) mysql не смог работать. Задачи не работают, но сервер не работает.
По команде:
mysql -u root -p
система отвечает как:
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Нет возможности войти, плагин не найден, нет ошибок в конфигурационных файлах (все по умолчанию).
Как вернуть контроль и заставить работать сервер MySQL?
Ответы:
«Unix_socket» был вызван процессом аутентификации mysql (возможно, связан с частичной миграцией базы данных в mariadb, теперь удалена). Чтобы все снова заработало, зайдите:
затем следуйте:
Это полностью остановит mysql, обойдёт аутентификацию пользователя (пароль не требуется) и подключится к mysql с пользователем root.
Теперь, в консоли mysql, перейдите с использованием базы данных администратора mysql:
Чтобы изменить пароль root на mynewpassword (измените его по своему желанию), просто чтобы быть уверенным в этом:
И этот перезапишет метод аутентификации, удалит запрос unix_socket (и все остальное), восстановив нормальный и рабочий метод пароля:
Выход из консоли mysql:
Остановитесь и начните все, что связано с MySQL:
Не забудьте в
exit
режиме su.Теперь сервер MySQL запущен и работает. Вы можете войти в систему как root:
или что угодно. Использование пароля действует.
Вот и все.
источник
mysqld_safe
не имеет выбора, как--skip-grant-tables
.. что дает?mysqld --verbose --help
mysqld_safe
которых жаловался, аргумент --skip-grant-tables не существовал, который я использовалmysqld
. Однако он продолжал жаловаться, что не может создать файлы сокетов в/var/run/mysqld/
. Я проверил конфигурацию apparmor, и у нее были соответствующие разрешения. Чтобы исправить это , я должен был ,mkdir /var/run/mysqld/
а затем дать полностью открытые разрешения:chmod -R 777 /var/run/mysqld/
. Затем я мог бы наконец запустить демон и изменить плагин на «mysql_native_password».Вот мои шаги сделать это:
источник