本文参考:

             

          最近在做java服务端程序,理所当然的安装了Mysql。但是连接出现了问题。

         如下:Failed to Connect to MySQL at 127.0.0.1:3306

 

        原因:可能是密码不正确。

                       解决办法:重置密码。

 

        准备工作:(1)配置环境变量。因为配置了环境变量才能用命令行,也就是说要让系统系统知道你的mysql.exe在哪里。

                      方法:开始--计算机--右键--属性--高级系统设置--环境变量--系统变量--Path(或path)--添加环境变量(比如默认的是:C:\Program Files\MySQL\MySQL Server 5.7\bin;)

                     (2)找到my.ini。不知道是权限的问题还是什么,我找不到my.ini。因为网上的方法是要编辑my.ini才能实现连接。

                      方法:打开C:盘。一般mysql安装在C:盘,要是你自定义了安装在了别的盘,就打开相应的盘。然后在(搜索)里面输入my.ini。系统开始搜寻my.ini了。

                               找到了以后(一般路径是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini)就可以下一步了。

         开始操作:

                        (1)编辑my.ini

                              方法:打开找到的my.ini--在[mysqlId] 后面或下面加在 skip-grant-tables--保存

                             注明:skip-grant-tables的意思是启动mysql服务时不启用授权表。这样就可以不如数如密码登录了。(但用完了后要记得删除skip-grant-tables,不然每次重启服务都会执行。这个后面会说明)。          

                        (2)重启服务

                            方法(在这里介绍最基本的,还有其他的办法):开始--控制面板--管理工具--服务--MySql57(版本不同后面的数字不同)--重启

                      

                        (3)已root身份登录mysql(root只是个名字而已,不代表权限)

                           方法:开始--输入cmd--回车--输入mysql -u root - password--回车--再回车

                           要是效果如下表明成功:

mysql -u root - p

passsword  

                                               welcom to mysql Monitor......

                                               .......

                                               .......

mysql->_

                           要不是如上效果而是:"mysql" 不是内部命令,也不是.....。表明系统环境变量没有配置好(请看准备工作(1))。

                         

                        (4)修改密码

use mysql             

                                                        mysql->Database changed

update user set password=password("新密码") where user="root"; 

                                                       

                            如果有如下效果:就表明修改成功。

Query OK,0 rows affected,.......

                                                       Rows matched:1..........

                            如果不是,而是如下效果:

                                                        Unknown column 'password' in 'field list';

update user set authentication=password("新密码") where user="root"; )。

                                     因为数据库管理系统不能识别password(原因是没有password标识符了,而换成了authentication_string)。

                         

                          (5)把skip-grant-tables 删除

                                   方法:参考 开始操作(1)。

 

                          (6)重启服务

                                   方法:参考 开始操作(2)

                            这样就可以登录本地服务器了。有什么不懂的可以问我。18844141934@163.com