Мне нужно сбросить пароль root моей локальной установки mysql, но это не позволит мне. Я пробовал это:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [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.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
Как я могу получить сброс пароля? изменить 1 я получил это:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
похоже, что процесс автоматически перезапускает mysql, как только я его убью ...
dpkg-reconfigure mariadb-server-10.1
работало на MariaDB, когда все остальные решения не работали. Спасибо тебе за это.dpkg-reconfigure
не запрашивал пароль для меня .. есть ли способ заставить его?Ссылка взята из этого блога:
Шаг 1: остановите службу MySQL.
Шаг 2: Убить всех работающих mysqld.
Шаг 3: Запуск mysqld в безопасном режиме.
Шаг 4: Запустите клиент MySQL
Шаг 5: После успешного входа в систему, пожалуйста, выполните эту команду, чтобы изменить любой пароль.
Шаг 6: Вы можете обновить пароль root для mysql.
для mysql> 5.7 используйте это вместо вышеупомянутого:
Шаг 7: Пожалуйста, выполните эту команду.
Шаг 8: Выход из консоли MySQL
Шаг 9: убить mysqld_safe и запустить mysql
источник
sudo service mysql stop
, неsudo stop mysql
sudo killall mysqld_safe && sudo service mysql start
и затем пытается войти сноваALTER USER root IDENTIFIED BY 'NEW_PASSWORD_HERE'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASS';
. Вы можете прочитать об этом здесь . Теоретически (я не пробовал), вы должны иметь возможность войти в MySQL без пароля, если вы "sudo su -", чтобы стать пользователем root.ALTER USER ...
не работает, используйтеUPDATE mysql.user SET authentication_string = PASSWORD('NEWPASS'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
Под Ubuntu 16.04 и
mysql-server-5.7
, правильный ответ - последний комментарий olafure,dpkg-reconfigure mysql-server-5.7
больше не работает.Теперь в консоли MySQL
>mysql
Перезапустите хороший
mysql
процессПроверьте свой новый пароль
источник
mysqld_safe
исполнении я получаю ошибку:Directory '/var/run/mysqld' for UNIX socket file don't exists.
. Итак, я побежал,sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
и остальная часть ответа выше работает. Это ошибка в Ubuntu 16? Я никогда не сталкивался со всеми этими проблемами при обновлении паролей.Начиная с MySQL 5.7 , при первоначальной установке, если вы оставите пароль пустым, то для этого пользователя аутентификация будет основана на
auth_socket
плагине.Правильный способ изменить пароль будет:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
источник
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
--skip-grant-tables
опции, и вы увидите, что это решение работает.--skip-grant-tables
опции я не могу даже войти в MySQL как root. Это говоритERROR 1698 (28000): Access denied for user 'root'@'localhost'
mysqld_safe
) как root без пароля. У меня Ubuntu 18.04 и mysql-server-5.7. Этот ответ помог мне askubuntu.com/a/767252/585252 (см. Нижнюю часть)Ничто из остальных ответов, казалось, не сработало для меня. Это мое решение:
Там есть:
Затем:
источник
2017-05-30T06:33:22.291126Z mysqld_safe Logging to syslog. 2017-05-30T06:33:22.294375Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-05-30T06:33:22.296874Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
это на mysql 5.7 и ubuntu 18.04 ,Создайте файл с этим:
Остановите сервер MySQL и запустите это:
Проверьте здесь для более подробной информации: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
источник