Доступ к MySQL запрещен для пользователя 'root' @ 'localhost'

На моем сервере каждый раз, когда я пытаюсь получить доступ к MySQL, я получаю сообщение об ошибке:

Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: НЕТ)

при попытке mysqladmin -u root -p password я получаю

Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: YES)

Как получить доступ MySQL на моем сервере Ubuntu 12.04?

22
задан 14.05.2020, 15:20

5 ответов

Я получаю те же признаки, когда я обновляю, но для меня фиксация (после того, как уничтожение mysql и перезапуск с - таблицы предоставления пропуска для входа) должна выполниться

update mysql.user set plugin = '';

, процессу обновления нравится устанавливать этот столбец на "unix_socket". Я не знаю то, что это, как предполагается, выполняет, но для меня это повреждает все.

7
ответ дан 14.05.2020, 15:21
  • 1
    да, я выполнил укрепляющийся сценарий, и он изменил плагин на mysql_socket так независимо от того, что я был установлен на использование PASSWORD('xxxxxx'), не работал. – continuousqa 14.05.2020, 15:21
  • 2
    Это решает мою проблему на Ubuntu 16 LTS после попытки всего.. полномочия, групповой пользователь. Спасибо. – Costantino Rupert 14.05.2020, 15:21

То же как Ulrich Metzger, после обновления моей машины к Ubuntu 16.04 и Mysql-server-5.7, я не мог войти в систему с корнем из-за plugin столбец, измененный в базе данных MySQL.

И sudo dpkg-reconfigure mysql-server-5.7 команда и удаление, чистка и очистка не решили мою проблему.

я должен был остановиться, mysql сервис

# sudo service mysql stop

Запускают mysql демона без --no-grant-tables опция

# sudo mysql_safe --no-grant-tables &

Затем в другом терминале, вводят mysql (которые больше не имеют аутентификации) с командой mysql, и обновите пароль и сменные столбцы через ОБНОВЛЕНИЕ SQL

UPDATE mysql.user 
  SET authentication_string=PASSWORD(''), 
      plugin='mysql_native_password'
WHERE User='root' AND Host='localhost';

Наконец, уничтожьте mysql_safe команда, перезапустите mysql сервис и обычно соединяйтесь с mysql

# sudo service mysql start
# mysql
4
ответ дан 14.05.2020, 15:21

После обновления от человечности 14.4LTS до 16.4LTS mysql пользователь root больше не мог войти в систему должный неправильная запись в сменном столбце таблицы mysql пользователя. Обновление устанавливает сменное значение для пользователя root@localhost к auth_socket, но корректная запись должна быть mysql_native_password при использовании mysql собственного шифрования пароля прежде.

2
ответ дан 14.05.2020, 15:22
  • 1
    Это - один that' s работал на меня и, кажется, корень проблемы. Удаление и переустановка won' t делают что-либо для фиксации " problem". – smci 14.05.2020, 15:22

Установите пароль для mysql

sudo dpkg-reconfigure mysql-server-5.x

, Теперь открывают терминал, и тип

mysql -uroot -p

дают пароль и нажимают Enter

4
ответ дан 14.05.2020, 15:22

При выполнении n localhost просто введите команду ниже в терминале:

mysql -u root -p

при использовании внешнего сервера введите IP хоста (xxx.xxx.xxx.xxx) также:

mysql -hxxx.xxx.xxx.xxx -uroot -p

Вам предложат Ваш пароль, ввести его, и Вы будете в состоянии получить доступ к своей подсказке MySQL.

можно также посмотреть этот ответ о том, как изменить пароль MySQL.

12
ответ дан 14.05.2020, 15:23
  • 1
    В ответе я связался с, необходимо заменить 5.x в конце с версией сервера MySQL you' использование ре. I' m использование 5.5, таким образом, моя команда будет sudo dpkg-reconfigure mysql-server-5.5 – Luper Rouch 14.05.2020, 15:23
  • 2
    таким образом проблема состоит в том, что OP видит Access denied for user 'root'@'localhost'. Вы предлагаете звонить mysql -u root -p. Результат этой команды: Access denied for user 'root'@'localhost'. – Costantino Rupert 14.05.2020, 15:24
  • 3
    я вошел, но я все еще don' t знают, как изменить или выбрали пароль – 3Dave 14.05.2020, 15:24
  • 4
    sudo mysql -u root -p работы для меня, но mysql -u root -p не делает – Mike Graham 14.05.2020, 15:25

Теги

Похожие вопросы