Я, постоянно получают следующее сообщение об ошибке:
1045 не Может войти в систему сервера MySQL
Я попробовал следующее:
sudo service mysql stop
(Пошел прекрасный),
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
(Пошел прекрасный),
mysql -u root
(Пошел прекрасный),
FLUSH PRIVILEGES;
(Пошел прекрасный),
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
(Я получаю следующую ошибку:)
ERROR 1133 (42000): Can't find any matching row in the user table
mysql> select User from mysql.user;
+------------------+
| User |
+------------------+
| linux |
| root |
| debian-sys-maint |
+------------------+
3 rows in set (0.00 sec)
Когда вы делаете
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
, вы обновляете пароль для пользователя с именем root
и местоположением localhost
. Из вашего результата из вашей пользовательской таблицы я делаю вывод, что такой строки НЕТ. Кажется, что есть строка с root
и 127.0.0.1
, поэтому вам, вероятно, понадобится эта строка.
SET PASSWORD FOR root@'127.0.0.1' = PASSWORD('password');
Пожалуйста, постарайтесь понять, в чем разница между двумя строками, и почему это должно быть сделано вместо первой: я надеюсь, что это поможет вам понять, что было не так и почему вы должны это сделать, как это может быть не на месте: комментарии-дополнения будет намного легче читать, если они будут в вопросе и правильно отформатированы: D