Не могу сменить пароль, mysql 5.7
sudo mysqld_safe --skip-grant-tables
mysql
mysql> use mysql;
mysql> UPDATE user SET authentication_string=PASSWORD('123456') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> \q
sudo service mysql start
Однако никакого эффекта, при попытке соединиться:
Access denied for user 'root'@'localhost'
В MySQL версии 5.7 некоторые способы смены пароля были объявилены устаревшими и перестали работать. Хорошим тоном, по-видимому, стало использовать такой синтаксис:
SET PASSWORD FOR 'username'@'localhost' = password_option;
В опции password_option можно передавать пароль как в виде строки, так и обёрнутым в конкретную функцию хэширования, причём поведение хэширующих функций меняется в зависимости от минорной версии 5.7.x.
Подробнее в документации: https://dev.mysql.com/doc/refman/5.7/en/set-password.html
Также можно вместо UPDATE USER использовать ALTER USER:
ALTER USER 'username' IDENTIFIED BY 'secret_password';
Продвижение своими сайтами как стратегия роста и независимости