Navicat连接mysql 、 sqlserver数据库的步骤与常见问题解决

 更新时间:2026年01月29日 09:12:44   作者:周杰伦fans  
Navicat是一款支持多种数据库的管理工具,包括MySQL、PostgreSQL、Oracle和SQL Server等,这篇文章主要介绍了Navicat连接mysql 、 sqlserver数据库的步骤与常见问题解决,需要的朋友可以参考下

SqlServer

  1. 点击连接 sqlserver

  2. 这里的主机对照sql server management 中 的主机名 , 以及登录用户名密码

     

  3. 测试连接成功 就可以点击确定

mysql

查看主机、用户名

## 登录 - 输入密码
mysql -u root -p


SELECT User, Host FROM mysql.user;
## 这样会列出所有用户名,例如:
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+

通常,你用的就是 root@localhost。

忘记密码

  1. 管理员启动cmd - 以管理员身份运行

  2. 运行命令 - 停止mysql服务
net stop mysql
  1. 在 目录 - C:\ProgramData\MySQL\MySQL Server 5.5 下 新建 - my.ini
[mysqld]
skip-grant-tables
  1. 启动无需输入密码模式
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.5\my.ini" --console
  1. 保持这个cmd运行 , 启动新的窗口 - 无需输入密码
mysql -u root
  1. 刷新权限
FLUSH PRIVILEGES;
  1. 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
  1. 关闭所有cmd窗口
  2. 删除my.ini中的skip-grant-tables
  3. 重启服务:
net start mysql

遇到错误 :

1. 提示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

  1. MySQL 服务器未启动(常见原因)
net start mysql # 启动mysql 
  1. 通过任务管理器检查 MySQL 进程

2. ERROR 1064 (42000)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'konoDioda233';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USER 'root'@'localhost' IDENTIFIED BY 'konoDioda233'' at line 1

你遇到ERROR 1064语法错误,通常是因为 MySQL 版本与语法不匹配。下面是详细分析和解决方法:

🔍 1. 错误原因分析

你执行的语句:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'konoDioda233';
  • 这个语法在 MySQL 8.0 及以上版本 是正确的。
  • 但在 MySQL 5.7 及以下版本,不支持 ALTER USER ... IDENTIFIED BY 语法,会报 1064 错误。

🛠️ 2. 解决方案

✅ 方法一:确认 MySQL 版本

先查看你的 MySQL 版本:

SELECT VERSION();
  • 如果是 8.0+,你原来的语句应该没问题,可能需要检查权限或是否登录正确。
  • 如果是 5.7 或更早,请用下面的方法。

✅ 方法二:MySQL 5.7 及以下版本改密码

① 使用 SET PASSWORD(推荐)

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('konoDioda233');
FLUSH PRIVILEGES;

② 或者用 UPDATE 直接改表

UPDATE mysql.user SET authentication_string = PASSWORD('konoDioda233') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

✅ 方法三:跳过权限表重置(通用)

如果上述方法还是报错,可以跳过权限表重置密码:

  1. 停止 MySQL(管理员 CMD):
    net stop mysql
    
  2. 修改 my.ini,在 [mysqld] 下加:
    skip-grant-tables
    
  3. 重启 MySQL
    net start mysql
    
  4. 无密码登录
    mysql -u root
    
  5. 重置密码(根据版本选一个):
    • MySQL 8.0+:
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'konoDioda233';
      FLUSH PRIVILEGES;
      
    • MySQL 5.7:
      UPDATE mysql.user SET authentication_string = PASSWORD('konoDioda233') WHERE User = 'root' AND Host = 'localhost';
      FLUSH PRIVILEGES;
      
  6. 去掉 skip-grant-tables,重启 MySQL

3. 常见坑点

  • 密码策略:MySQL 5.7+ 默认密码策略较严格,如果密码太简单,会报 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。可以临时降低策略:
    SET GLOBAL validate_password_policy = 0;
    SET GLOBAL validate_password_length = 6;
    
  • 大小写USERuser 都可以,但关键字最好大写。
  • 引号:密码要用单引号 ' ' 包裹。

4. 参考来源

5. 小结

  • MySQL 8.0+ → 用 ALTER USER ... IDENTIFIED BY
  • MySQL 5.7 及以下 → 用 SET PASSWORD ... = PASSWORD('新密码')UPDATE mysql.user SET authentication_string = PASSWORD('新密码')
  • 如果都不行,用 skip-grant-tables 跳过权限表重置。

总结

到此这篇关于Navicat连接mysql 、 sqlserver数据库的步骤与常见问题解决的文章就介绍到这了,更多相关Navicat连接mysql 、 sqlserver内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql中数据统计的技巧备忘录

    mysql中数据统计的技巧备忘录

    mysql是常用数据库,对于数字操作相关的东西相当方便,这篇文章主要给大家介绍了关于mysql中数据统计技巧的相关资料,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • MySQL字符集utf8修改为utf8mb4的方法步骤

    MySQL字符集utf8修改为utf8mb4的方法步骤

    这篇文章主要给大家介绍了关于MySQL字符集utf8修改为utf8mb4的方法步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • MySQL 备份还原数据库批处理

    MySQL 备份还原数据库批处理

    在日常工作中,我们往往需要对MySQL数据库进行备份,有时可以通过拷贝整个文件,有时通过备份整个库还有的时候我们就只需要备份某个表。
    2009-07-07
  • Mysql中explain命令返回参数的具体使用

    Mysql中explain命令返回参数的具体使用

    EXPLAIN返回的关键列包括id、select_type、table、type、possible_keys、key、key_len、ref、rows和Extra等,本文就来介绍Mysql中explain命令返回参数,感兴趣的可以了解一下
    2024-09-09
  • MySQL复合查询从基础到多表关联与高级技巧全解析

    MySQL复合查询从基础到多表关联与高级技巧全解析

    本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧
    2025-05-05
  • Mysql的DQL查询操作全面分析讲解

    Mysql的DQL查询操作全面分析讲解

    DQL(Data Query Language 数据查询语言):用于查询数据库对象中所包含的数据。DQL语言主要的语句:SELECT语句。DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
    2022-12-12
  • mysql使用教程之分区表的使用方法(删除分区表)

    mysql使用教程之分区表的使用方法(删除分区表)

    mysql分区表使用方法,新增分区、删除分区、分区的合并、分区的拆分等使用方法
    2013-12-12
  • mysql输入中文出现ERROR 1366的解决方法

    mysql输入中文出现ERROR 1366的解决方法

    这篇文章主要为大家详细介绍了mysql输入中文出现ERROR 1366的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 修改MYSQL最大连接数的3种方法分享

    修改MYSQL最大连接数的3种方法分享

    MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有好几个,这里简单分享下
    2011-05-05
  • Windows 8.1下MySQL5.7 忘记root 密码的解决方法

    Windows 8.1下MySQL5.7 忘记root 密码的解决方法

    最近学习碰到了一件挺令人尴尬的事情,我把MySQL的密码给忘记了,所以MySQL登录不进去。在网上找的解决方案都不靠谱,下面小编给大家分享Windows 8.1下MySQL5.7 忘记root 密码的解决方法,需要的朋友一起看看吧
    2017-07-07

最新评论