mysql忘记密码及无法使用程序连接

select(一)忘记root密码

很久之前装了mysql,后来做项目的时候,一直木有用到,就把密码给忘记了。

网上各种找,最终解决了这个问题了,记录下。

1)打开services,找到mysql服务,并将其停止(或者直接net stop mysql56(mysql56是卤煮的mysql的服务名))

2)打开DOS窗口,cd到mysql的bin目录。

3)输入mysqld --skip-grant-tables回车

4)重新打开一个DOS窗口,并进入到mysql的bin目录下

5)输入mysql回车,如果成功,将出现MySQL提示符 >

6) 连接权限数据库>use mysql;

7)设置密码:> update user set password=password("password") where user="root";

8)刷新权限(必须的步骤)>flush privileges;

9)重新进入mysql,设置的密码就生效了哈。

(二)无法使用程序连接mysql

直接DOS窗口登陆是可以登陆成功的,但是用程序去连的时候却一直报错,“Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password:YES)。

按下面操作

1)"use mysql"

2)“select host,user from user”

得到如下,

后来发现这个“%”是指允许一切IP访问,但是在mysql5.6中没有包括localhost。
后来,就做了改root密码的操作,再操作上面之后,得到如下,
再连的话,居然之前创建的数据库表啥的,都不可见了,只好再重新创建一遍,再连就成功了。
原文地址:https://www.cnblogs.com/alvwood/p/3196369.html