Не могу войти в MySQL

Даже после сброса пароля root с помощью следующей команды я не могу войти в MySQL. (Другие команды перечислены для предоставления дополнительной информации.)

    # sudo dpkg-reconfigure mysql-server-5.1

    # mysql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    # telnet 127.0.0.1 3306
      Trying 127.0.0.1...
      telnet: Unable to connect to remote host: Connection refused
    # ps -Aw |grep mysql
      26522 ?        00:00:00 mysqld

    # /etc/init.d/mysql start
    Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql start

    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the start(8) utility, e.g. start mysql

Кроме того,

     # sudo mysqladmin -u root password 123
     mysqladmin: connect to server at 'localhost' failed

Кажется, что MySQL работает неправильно.

4
задан 3 March 2015 в 23:42

5 ответов

Это работает всякий раз, когда мне нужно сделать это ...

Остановите MySQL Server:

sudo /etc/init.d/mysql stop

Запустите конфигурацию mysqld.

sudo mysqld --skip-grant-tables &

Войдите в MySQL как пользователь root.

mysql -u root mysql

Замените YOURNEWPASSWORD вашим новым паролем!

UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
0
ответ дан 3 March 2015 в 23:42

Должен быть другой пользователь-администратор, debian-sys-maint. Проверьте файл /etc/mysql/debian.cnf на его пароль (он не зашифрован).

Используя этот пароль, войдите на свой сервер MySQL:

mysql -u debian-sys-maint -p

и установите новый пароль для пользователя root:

mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;

Сначала вы можете проверить, работает ли MySQL и прослушивание соединений:

sudo netstat -atpn | grep mysql

Это должно дать вам что-то вроде

tcp 0  0 127.0.0.1:3306     0.0.0.0:*       LISTEN      1306/mysqld

Если mysql не запускается, вы должны проверить /var/log/mysql.err и /var/log/mysql.log для получения подробной информации. [ 1114]

0
ответ дан 3 March 2015 в 23:42

Выполните следующие команды:

mysql -uroot -p -hlocalhost
sudo service mysql restart
mysql -u root -p

Это должно сработать.

0
ответ дан 3 March 2015 в 23:42

Я столкнулся с подобной проблемой в конце, я смог войти таким образом (заменить «пользователя» на реального пользователя). пароль учетной записи «пользователя».

0
ответ дан 3 March 2015 в 23:42

Вы можете попробовать использовать sudo

sudo mysql -uuser -p

Я установил mysql на сервер Ubuntu и больше не могу войти в систему. Затем я попробовал sudo, и это сработало...

1
ответ дан 20 July 2020 в 14:50

Другие вопросы по тегам:

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