mysql 修改密码后,注意 FLUSH PRIVILEGES !
MYSQL服务无法启动,服务没有任何错误;解决方法
进入DOS界面,到MySQL文件夹下输入mysqld --console
在命令行中输入mysqld --install
不过我在安装 5.7.27版本的时候怎么flush都没用。不知道为啥原始随机密码测试也是不行,my.cnf里修改为 skip-grant-tables
然后修改密码,还是不行。如下图:
后面从配置中去掉skip-grant-tables(图中看可能这种操作,不行) ,关闭mysql服务,单独命令行启动mysqld --skip-grant-tables,再开一个shell去链接, update mysql.user set authentication_string=password('123qwe') where user='root'; 执行后flush privileges;
重启mysql 服务:service mysql start 。重新链接可以了,
但是报另外一个错误,提示要rest 密码(前面担心是不是root这个密码不让用,用的别的密码,想改回来),执行alter user user() identified by 'xxxx' ; flush privileges; 后面就正常可以了。
参考:windows版本的 https://blog.csdn.net/nicepuppy/article/details/80863836
解决Your password has expired. To log in you must change it using a client that supports expired passwords办法
打开 命令行
- /usr/local/mysql/bin/mysqladmin -u root -p password
提示输入按照后的那个密码
输入完成后 提示输入新的密码
- Enter password:
- New password:
Confirm new password:
完成
mysql> grant all privileges on *.* to 'root'@'your-host-ip' identified by 'your-mysql-password' with grant option;
mysql> flush privileges;
mysql> exit