Даже после сброса пароля 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 работает неправильно.
Это работает всякий раз, когда мне нужно сделать это ...
Остановите 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;
Должен быть другой пользователь-администратор, 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]
Выполните следующие команды:
mysql -uroot -p -hlocalhost
sudo service mysql restart
mysql -u root -p
Это должно сработать.
Я столкнулся с подобной проблемой в конце, я смог войти таким образом (заменить «пользователя» на реального пользователя). пароль учетной записи «пользователя».
Вы можете попробовать использовать sudo
sudo mysql -uuser -p
Я установил mysql на сервер Ubuntu и больше не могу войти в систему. Затем я попробовал sudo, и это сработало...