Не удается запустить MySQL для сброса пароля root

Я установил mysql-server на Linux и забыл (упс) пароль root. Осмотрев интернет, общий метод таков:

  1. Остановить MySQL (sudo service mysql stop)
  2. запустить MySQL в специальном режиме (sudo mysqld_safe --skip-grant-tables)
  3. вход на локальный сервер и сброс пароля (mysql -u root)

моя проблема в номере 2. Когда я запускаю команду, она говорит некоторые вещи о регистрации и запуске демона, а затем заканчивается line

mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

и с помощью sudo service mysql status подтверждает, что MySQL действительно остановился.

почему он останавливается так внезапно? И (что более важно) как я могу заставить его продолжать работать, чтобы я мог сбросить свой пароль?

спасибо заранее

EDIT вот полный журнал "stuff about loggin and starting the daemon":

$ mysqld_safe --skip-grant-tables 
141219 16:55:20 mysqld_safe Logging to syslog.
141219 16:55:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141219 16:55:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
$ 

EDIT 2 и вывод /var / log / syslog (Я заменил свое имя хоста на <hostname>)

Dec 20 10:20:09 <hostname> mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Warning] Can't create test file /var/lib/mysql/<hostname>.lower-test
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Warning] Can't create test file /var/lib/mysql/<hostname>.lower-test
Dec 20 10:20:09 <hostname> mysqld: #007/usr/sbin/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [ERROR] Aborting
Dec 20 10:20:09 <hostname> mysqld: 
Dec 20 10:20:09 <hostname> mysqld: 141220 10:20:09 [Note] /usr/sbin/mysqld: Shutdown complete
Dec 20 10:20:09 <hostname> mysqld: 
Dec 20 10:20:09 <hostname> mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended
18
задан Luke Moll
13.01.2023 13:16 Количество просмотров материала 2610
Распечатать страницу

2 ответа

OK, похоже, что /var/lib / mysql не существует или у пользователя mysql нет разрешения на доступ к нему. В любом случае, у вас есть проблемы похуже, чем забыли пароль root-либо у вас нет базы данных на всех, или что-то изменило права доступа к файлам или собственности.

0
отвечен Mike Scott 2023-01-14 21:04

эта проблема может быть вызвана из-за нескольких проблем. Вы можете найти точную ошибку из "хвост в /var/журнал/MySQL в/ошибки.log". Я добавил исправление по умолчанию для такого рода вопросов. Если ниже не работает, то обновить нам печать из журнала, где мы можем попытаться получить некоторую информацию и двигаться дальше

убить весь процесс MySQL, используя следующую команду.

ps aux | grep mysql kill pid

найдите путь демона mysqld, используя "что mysqld_safe" команда

запустите MySQL без таблиц предоставления из местоположения mysqld_safe

/mysqld_safe_available_directory/mysqld_safe --skip-grant-tables &

бывший в качестве /bin/mysqld_safe

mysql -u root 

действия, чтобы установить новый пароль:

use mysql;
update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
flush privileges;
quit
1
отвечен vembutech 2023-01-14 23:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх