Answers:
如果这不是您第一次设置密码,请尝试以下方法:
mysql> UPDATE mysql.user SET Password=PASSWORD('your_new_password')
WHERE User='root';
而且,如果出现以下错误,则很有可能您从未设置过密码:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
首次设置密码:
mysql> SET PASSWORD = PASSWORD('your_new_password');
Query OK, 0 rows affected, 1 warning (0.01 sec)
参考:https : //dev.mysql.com/doc/refman/5.6/en/alter-user.html
mysql-5.7.13-osx10.11-x86_64
如果您使用启动了mysql mysql -u root -p
尝试 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
资料来源:http : //dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
ALTER USER 'root'@'localhost' indentified WITH mysql_native_password BY 'password';
我在Mac上也有同样的问题
首先,以沙盒模式登录mysql
mysql -u <user> -p --connect-expired-password
然后,设定密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXXX');
Query OK, 0 rows affected, 1 warning (0.01 sec)
对我有用〜
通过:https : //dba.stackexchange.com/questions/118852/your-paswssword-has-expired-after-restart-mysql-when-updated-mysql-5-7-8-rcde
SET PASSWORD FOR 'root'@'localhost' = 'XXXX';
如果您使用MySQL 5.7.6及更高版本:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
如果您使用MySQL 5.7.5和更早版本:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
SET PASSWORD = PASSWORD('my_pass')
对我有用。有些人的评论使用的是最新版本,其中提到该语句也适用于他们。尽管如此,由于您在MySQL文档中找到了这一特定参考,因此我对您的回答表示赞同,此前没有人提到过。
在MySQL 5.7.x上,您需要切换到本机密码才能更改它,例如:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
运行这些:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
然后跑
./mysql -u root
它应该登录。现在运行FLUSH特权;
然后退出MySQL控制台并尝试登录。如果不起作用,请运行以下命令:
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("XXXXXXX") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
将xxxxxx更改为您的新密码。然后尝试再次登录。
更新。看到这个http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
它应该可以解决您的问题。
如果您使用的是Oracle,请尝试以下操作
ALTER USER username IDENTIFIED BY password
也许尝试一下?
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXX');
要么
SET PASSWORD FOR 'root'@'%' = PASSWORD('XXX');
取决于您使用的访问权限。
(并且不确定您应该更改自己的字段名称...)
https://dev.mysql.com/doc/refman/5.0/zh-CN/set-password.html
ALTER USER'root'@'localhost'由'new_password'标识;
使用此行...
更新用户SET authentication_string = PASSWORD(“ MyPassWord”),其中User ='root'; 错误1064(42000):您的SQL语法有错误;在第1行的'(“” MyPassWord“)WHERE User ='root'附近使用相应的语法,查看与您的MySQL服务器版本相对应的手册
解决了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
来自以下网站的参考
https://dev.mysql.com/doc/refman/8.0/zh-CN/resetting-permissions.html
在上Ver 14.14 Distrib 5.7.19, for macos10.12 (x86_64)
,我登录为:
mysql -uroot -p
然后在安装时由MySQL输入生成的密码。然后..
ALTER USER 'root'@'localhost' IDENTIFIED BY '<new_password>';
例:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ab1234';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
$ mysql -uroot -p
您可以输入“ Ab1234”
MySQL 5.7.24获得root首次登录
步骤1:从日志获取密码
grep root@localhost /var/log/mysqld.log
Output
2019-01-17T09:58:34.459520Z 1 [Note] A temporary password is generated for root@localhost: wHkJHUxeR4)w
步骤2:和他一起登录mysql
mysql -uroot -p'wHkJHUxeR4)w'
步骤3:输入新的root密码
SET PASSWORD = PASSWORD('xxxxx');
你得到 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如何解决?
运行这个 SET GLOBAL validate_password_policy=LOW;
再试一次 SET PASSWORD = PASSWORD('xxxxx');
这对我有用:
ALTER USER USER()由'auth_string'标识;
我在这里找到它:http : //dev.mysql.com/doc/refman/5.7/en/alter-user.html#alter-user-current
ERROR 29 (HY000): File './mysql/user.MYD' not found (Errcode: 13 - Permission denied)
这是为我工作的方式。
mysql> show databases ;
错误1820(HY000):在执行此语句之前,必须使用ALTER USER语句重置密码。
mysql> uninstall plugin validate_password;
错误1820(HY000):在执行此语句之前,必须使用ALTER USER语句重置密码。
mysql> alter user 'root'@'localhost' identified by 'root';
查询正常,受影响的0行(0.01秒)
mysql> flush privileges;
查询正常,受影响的0行(0.03秒)
使用SET PASSWORD = PASSWORD('your_new_password');
时可能会崩溃
(错误1819(HY000):您的密码不符合当前的策略要求)
您可以SET GLOBAL validate_password_policy=LOW;
用来解决它。