我最近安装了MySQL,似乎在安装后我必须重置密码。它不让我做别的事。
现在我已经用通常的方式重置了密码:
update user set password = password('XXX') where user = root;
(顺便说一句:我花了很长时间才发现MySQL出于某种奇怪的原因将字段“password”重命名为“authentication_string”。我对这样的变化感到很不安。
不幸的是,似乎我需要改变密码不同的方式,我不知道。也许在座有人已经遇到过这个问题了?
运行这些:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
然后运行
./mysql -u root
它应该登录。现在运行
冲洗特权;
然后退出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
它应该能解决你的问题。
如果你在甲骨文试试这个
ALTER USER username IDENTIFIED BY password
如果这不是你第一次设置密码,试试这个方法:
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.24先登录root
第一步:从日志中获取密码
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
第二步:和他一起登录mysql
mysql -uroot -p'wHkJHUxeR4)w'
第三步:你输入新的根密码
SET PASSWORD = PASSWORD('xxxxx');
你会得到错误1819 (HY000):您的密码不满足当前的策略要求
如何解决?
SET GLOBAL validate_password_policy=LOW;
SET PASSWORD = PASSWORD('xxxxx');
我也有同样的问题。拒绝访问。
所以我的解是,
去
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
你可以看到插入的列名
我把插件从
Unix_socket ->到mysql_native_password
输入这个
mysql > use mysql;
mysql> update user set plugin='mysql_native_password' where user='root';
mysql> flush privileges;
完成了。
我的版本是10.1.48 MariaDB ubuntu 18