Моя местная среда:
- свежий Ubuntu 16.04
- с PHP 7
с установленным MySQL 5.7
sudo apt-get install mysql-common mysql-server
Когда я попытался войти в MySQL (через CLI):
mysql -u root -p
Я столкнулся с циклической проблемой из 3 шагов.
1) Сначала была проблема с сокетом
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
Решение: перезагрузка ПК.
Что привело к еще одной ошибке:
2) С отказом в доступе
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
Возможная проблема? Неверный пароль для пользователя "root"!
Решение: сбросьте пароль root с помощью этого руководства .
При правильном пароле и исправном сокете возникает последняя ошибка.
3) Неправильный плагин авторизации
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
Здесь я остановился или как-то добрался до 1) снова.
mysql
linux
ubuntu
auth-socket
Томаш Вотруба
источник
источник
Ответы:
У меня есть решение!
При сбросе пароля root на шаге 2) также измените плагин аутентификации на
mysql_native_password
:Это позволило мне успешно войти в систему!
Решение полного кода
1. запустите команды bash
1. сначала запустите эти команды bash
2. затем запустите команды mysql => скопируйте и вставьте это в cli вручную
3. запустите больше команд bash
4. Проблема с сокетом (из ваших комментариев)
Когда вы видите ошибку сокета , сообщество предложило 2 возможных решения:
(спасибо @Cerin)
Или
(спасибо @Peter Dvukhrechensky)
Слепые пути и возможные ошибки краев
Используйте 127.0.0.1 вместо localhost
Может привести к ошибке «отсутствует файл» или slt.
Работает лучше.
Пропустить проблему с сокетом
Я нашел много способов создать
mysqld.sock
файл, изменить права доступа или создать символическую ссылку на него. В конце концов, проблема была не в этом.Пропустить
my.cnf
файлВопроса тоже не было. Если вы не уверены, это может вам помочь .
источник
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld; sudo mysqld_safe --skip-grant-tables &
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
Это может сэкономить чье-то времяВы можете попробовать следующее: у меня это работает.
Стартовый сервер:
Теперь перейдите в папку с носками:
Сделайте резервную копию носка:
Остановить сервер:
Восстановим носок:
Запустите mysqld_safe:
Запускаем оболочку mysql:
Сменить пароль:
Следовательно, сначала выберите базу данных
Теперь введите ниже два запроса:
Теперь все будет хорошо.
Для проверки:
сделано!
N.B, After login please change the password again from phpmyadmin
Теперь проверьте
hostname/phpmyadmin
Username: root
Password: 123456
Для получения дополнительной информации, пожалуйста, проверьте Как сбросить забытый пароль phpmyadmin в Ubuntu
источник
Команда
mysql
по умолчанию использует сокеты UNIX для подключения к MySQL.Если вы используете MariaDB, вам необходимо загрузить подключаемый модуль Unix Socket Authentication на стороне сервера.
Вы можете сделать это, отредактировав
[mysqld]
конфигурацию следующим образом:В зависимости от дистрибутива файл конфигурации обычно находится по адресу
/etc/mysql/
или/usr/local/etc/mysql/
источник
Вы можете попробовать следующие шаги:
Остановить службу Mysql 1st
sudo /etc/init.d/mysql stop
Войти как root без пароля
sudo mysqld_safe --skip-grant-tables &
После входа в терминал mysql вам необходимо выполнить дополнительные команды:
После перезапуска сервера mysql. Если вы все еще сталкиваетесь с ошибкой, вы должны посетить: Сбросить пароль root MySQL 5.7 Ubuntu 16.04
источник
Для Ubuntu 18.04 и mysql 5.7
шаг 1:
sudo mkdir /var/run/mysqld;
шаг 2:
sudo chown mysql /var/run/mysqld
шаг 3:
sudo mysqld_safe --skip-grant-tables
& выйти (используйте quit, если он застрял)войти в mysql без пароля
шаг 4:
sudo mysql --user=root mysql
шаг 5:
SELECT user,authentication_string,plugin,host FROM mysql.user;
шаг 6:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'
теперь войдите с помощью
mysql -u root -p <root>
источник
$ mysql -u root -p
но в доступе пока нет.Access denied for user 'root'@'localhost' (using password: YES)
Я пытался ввести пароль «ДА»Попробуйте: sudo mysql_secure_installation
Работа в Ubuntu 18.04
источник
Если кто-то приземлится здесь после той же ошибки, что и я:
plugin="mysql_native_password"
Временно переключен на . Выполнил свои задачи.plugin="auth_socket"
что привело кmysql "ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded"
mysql_safe
для обхода аутентификации, чтобы переключиться на соответствующий плагин.plugin="unix_socket"
Надеюсь, это сэкономит кому-то время, если они получат исходное сообщение об ошибке постера, но истинной причиной было неправильное имя плагина, а не отсутствие самого плагина auth_socket, который, согласно документации MariaDB :
источник
Вы можете попробовать следующие команды:
источник