今天上午和MySQL来了一场恶战,终于战胜了他,本以为就此世界和平了,但是下午打开eclipse配置数据库的时候,打不开了;重装的时候忘了建数据库了,所以打开Navicat,连接数Mysql提示密码过期,
明明是刚设置的密码,我要疯了,这几天全在解决这些问题,好吧重新设置密码,还是老方法
关闭原来的MySQL进程
mysqld --skip-grant-tables
这个时候,光标会一直闪。注意,不要动,打开另一个命令行窗口。
前面一样的操作来到bin目录下
密码为空,直接回车
use mysql;
update user set authentication_string=password("123456") where user="root";
结果咧——出错:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo
re executing this statement.
了解下:ALTER USER
最常用的情况是用来修改用户自己的口令,任何用户都可以使用ALTER USER…IDENTIFIED BY语句来修改自己的口令,而不需要具有任何其他权限。但是如果要修改其他用户的口令,则必须具有ALTER USER系统权限。
用法示例: 来源点击打开链接 可以在MySQL的配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为90天,MySQL会从启动时开始计算时间。my.cnf配置如下:如果要设置密码永不过期的全局策略,可以这样:(注意这是默认值,配置文件中可以不声明)default_password_lifetime=90
在MySQL运行时可以使用超级权限修改此配置:default_password_lifetime=0
还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。mysql> SET GLOBAL default_password_lifetime = 90;
禁用密码过期:ALTER USER ‘testuser’@‘localhost' PASSWORD EXPIRE INTERVAL 30 DAY;
让用户使用默认的密码过期全局策略:ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;
从MySQL 5.7.6版开始,还可以使用ALTER USER语句修改用户的密码:ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE DEFAULT;
mysql> ALTER USER USER() IDENTIFIED BY '637h1m27h36r33K';
原来查到:直接执行:set password=password('密码');点击打开链接
好吧,试试居然成功了,不是说没有这个字段了吗?搞定之后,来到myeclipse,配置数据库
这个URL,配置了好几次,我和上面这位都变成老熟人了,直到查到一个百度知道:URL那一项应该精确到数据库,例如:jdbc:mysql://localhost:3306/mySun
结果就好了,长得一样不一定是对的,多么痛的领悟……后面什么词来着?诶 这几天呐;我的商城还起不来呐,这下疯也没有用了,继续奋斗吧,回家的心情也都快没有了
不废话了,本文完