Windows系统下,Navicat Premium连接MySQL数据库bug

目录

 1、ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

[1]、问题查找过程

[2]、解决方案步骤

2、1045-Access denied for user 'root'@'localhost'(using password:YES)

[2]、解决方案步骤


  

 1、ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

[1]、问题查找过程

(1)MyEclipse》HibernateTest1.java(测试Hibernate框架,使用main程序入口测试)右键》Run As》Java Application》控制台显示 

Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Caused by: java.net.ConnectException: Connection refused: connect

(2.1)打开Navicat Premium》双击连接的MySQL数据库》弹窗提示

2003-Cant't connect to MySQL server on 'localhost'(10061 "Unknown error")

(2.2) 桌面》计算机 》D:\DevelopSoft\database\MySQL\MySQL5_5_x64\soft\bin 在此路径框处输入cmd》DOS弹窗》D:\DevelopSoft\database\MySQL\MySQL5_5_x64\soft\bin> mysql -u root

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

(3)桌面》计算机》右键 管理》服务和应用程序》服务》选中名称为 MySQL》右键 启动》弹窗提示 

Windows 无法启动 MySQL服务(位于 本地计算机 上)。错误1067:进程意外终止。

(4.1)点击“开始→运行”,输入eventvwr,点击“确定”,就可以打开事件查看器》Windows日志》应用程序》在此处找到错误原因

Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

Server socket created on IP: '0.0.0.0'.

  - '0.0.0.0' resolves to '0.0.0.0';

Server hostname (bind-address): '0.0.0.0'; port: 3306

Plugin 'FEDERATED' is disabled.

For more information, see Help and Support Center at https://www.mysql.com/

(4.2) 桌面》计算机》C:\  搜索mysql,将会找到C:\ProgramData\MySQL\MySQL Server 5.5\data\后缀为.err的文件为MySQL错误日志

[2]、解决方案步骤

(1)MySQL软件自定义安装位置为D:\DevelopSoft\database\MySQL\MySQL5_5_x64\soft,

但是my.ini文件中datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"依旧为缺省的路径;

桌面》计算机》C:\  搜索mysql,将会找到C:\ProgramData\MySQL\MySQL Server 5.5\data。

(2)因此修改my.ini文件中

datadir="D:/DevelopSoft/database/MySQL/MySQL5_5_x64/soft/data/"

(3)桌面》计算机》右键 管理》服务和应用程序》服务》选中名称为 MySQL》右键 启动(S)

2、1045-Access denied for user 'root'@'localhost'(using password:YES)

[2]、解决方案步骤

(1)D:\DevelopSoft\database\MySQL\MySQL5_5_x64\soft\my.ini》

[mysqld]
#在 [mysqld] 底下添加语句:skip-grant-tables,添加完毕后保存。如果提示不让修改这个文件,则可将它复制到桌面,再用记事本打开它,添加完毕后,将桌面上的文件复制到原来的地方,复制粘贴时选择替换目标文件。
#skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。也就是说,启用这个参数之后,数据库的安全性会降低。
skip-grant-tables

(2)WIN+R —>输入cmd》DOS弹窗》

C:\Users\ljx>mysql -u root -p //这个命令是连接MySQL数据库服务器的命令;
Enter  passward:直接回车

mysql>use mysql;              //使用数据库名称为mysql,这个数据库

mysql>select host,user,password from user;    //列表查询表名为user,的数据

mysql>delete from user where host='localhost';//删除表指定行数据

mysql>INSERT INTO `user` VALUES ('%', 'yourUser', 'yourPassword', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', '');//用户表新增一条数据

mysql>INSERT INTO `user` VALUES ('localhost', 'yourUser', 'yourPassword', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', '');

mysql>update user set host='localhost' where host='127.0.0.1';//修改用户表user,的数据

mysql>update user set host='%' where host='::1';

mysql>flush privileges;       //刷新数据库

  

(3)到这里修改密码的工作已经完成。接下来注释掉在(1)my.ini中添加的语句。

[mysqld]
#在 [mysqld] 底下添加语句:skip-grant-tables,添加完毕后保存。如果提示不让修改这个文件,则可将它复制到桌面,再用记事本打开它,添加完毕后,将桌面上的文件复制到原来的地方,复制粘贴时选择替换目标文件。
#skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。也就是说,启用这个参数之后,数据库的安全性会降低。
#skip-grant-tables

(4)重启MySQL服务器

桌面》计算机》右键 管理》服务和应用程序》服务》选中名称为 MySQL》右键 停止(O)》右键 启动(S)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章