资讯详情

资讯详情

HeidiSQL 9.2.0.4947 安装配置与连接排错指南

简介HeidiSQL 9.2.0.4947 安装包面向需要管理 MySQL、MariaDB、SQL Server、PostgreSQL 与 Oracle 等数据库的开发者、数据库管理员及初学者提供图形化操作入口减少直接编写 SQL 命令的负担。压缩包共 2 个文件以 exe 安装程序和 htm 说明文档为主整体约 8.18MB安装程序用于在本机部署 HeidiSQL说明文档则汇总许可协议、系统需求、安装指引、常见问题与更新日志便于安装前核对环境。已有 131 人学习或下载适合作为轻量级数据库客户端的入门与日常维护工具。借助其界面可浏览库表结构、查看和编辑记录、执行带语法高亮与自动完成的 SQL 查询并完成用户权限设置、数据导入导出及备份恢复帮助读者在较短时间搭建起直观、可控的数据库管理工作流。1. 从一次装完连不上的事故说起上周帮一位做数据迁移的同事收拾残局。他机器上同时躺着两个东西一个解压出来的绿色目录一个 HeidiSQL 9.2.0.4947 安装文件Setup.exe。他觉得双击装一遍更保险装完之后发现会话列表空的随便填了个连接又报 1045于是断定这个版本有问题。实际情况是便携版占了注册表里的配置位置安装版又把配置写到了另一处两套设置打架加上他把主机名填成了localhost而数据库跑在另一台机器上。HeidiSQL 的安装本身 3 分钟就能走完真正让人翻车的是装之前没有把装哪种形态、配置落在哪、连哪个库这三件事想清楚。这一版 9.2.0.4947 支持 MySQL、MariaDB、SQL Server、PostgreSQL、SQLite 和 Interbase几乎每个做后端或数据的人都会在某一台机器上装它装不对的结果就是每次连库都要重新填一遍参数或者干脆连不上还以为是自己账号密码错了。下面这套流程是我自己在多台机器上重复过很多遍的顺序。2. 装之前先对齐环境安装版与便携版的取舍动手双击之前先把两件事定下来装哪种形态、装在什么系统上。这两件事决定了后面配置写到哪里、出问题时去哪儿找。很多人装完发现设置不生效根子就在这一步没定。2.1 安装版和便携版的配置落点完全不同HeidiSQL 有两种常见分发形态一种是HeidiSQL_9.2.0.4947_Setup.exe这种安装程序另一种是解压即用的压缩包。两者的功能完全一致差别只在配置文件写在哪。安装版走的是标准 Windows 应用路径程序文件进C:\Program Files\HeidiSQL会话、编辑器字体、窗口布局这些用户设置写进当前用户的注册表HKEY_CURRENT_USER\Software\HeidiSQL。这意味着换一个 Windows 账户登录看到的是全新界面之前存的会话一个都没有。便携版则是在 exe 旁边生成一个portablesettings.txt标记文件一旦这个文件存在所有设置就地保存不碰注册表。我第一次用便携版时不知道这回事解压到 U 盘里跑了一次配置就跟着 U 盘走了换机器插上就能用这个特性在客户现场或者临时跳板机上特别好使。我的一般选择是固定办公机装安装版图的是开始菜单、文件关联和自动更新提示需要随身带、或者要在别人的机器上临时查一次数据的场景用便携版走的时候把整个目录删掉不留痕迹。两者不要在同一台机器上混用会因为配置来源不一致导致会话列表时有时无。对比项安装版Setup便携版解压目录程序位置C:\Program Files\HeidiSQL任意目录随解压位置设置存储注册表 HKCU\Software\HeidiSQL同目录下的配置文件换 Windows 账户设置不跟随设置跟随目录卸载走控制面板可选择保留设置直接删目录适合场景长期使用的固定机器跳板机、客户现场、多机切换2.2 系统位数和客户端库是两回事HeidiSQL 9.2 时代提供 32 位和 64 位两个安装包。选哪个不是看你的操作系统是不是 64 位而是看你要连的数据库客户端库。程序要加载libmysql.dll连 MySQL/MariaDB、libpq.dll连 PostgreSQL这些动态库位数必须和主程序一致。64 位程序加载不了 32 位的 dll反过来也一样报错通常是无法加载客户端库或者连接测试时直接闪退。我这里踩过的具体坑某台机器上装过另一个数据库工具它把 32 位的libmysql.dll塞进了C:\Windows\System32后来装的 64 位 HeidiSQL 启动时优先加载到了那个旧库连 MySQL 8 的库就报认证协议不支持。解决办法是把安装目录里自带的库文件确认一遍必要时在会话设置里指定客户端库的完整路径。系统版本方面这一版在 Windows 10、Windows 11 和 Windows Server 2016 以上跑是没有悬念的Windows 7 SP1 也能用但要是拿它连 MySQL 8 或者 PostgreSQL 14 以上的库服务端加密套件和认证方式都变了老系统上偶尔会遇到 TLS 握手失败。生产环境的跳板机如果是老系统建议先用便携版试连一次跑得通再考虑装。2.3 安装包到手先做两件事第一件是核对文件大小和来源。HeidiSQL_9.2.0.4947_Setup.exe这类安装包正常在二三十兆这个量级拿到手先看一眼属性里的数字签名和文件版本别急着双击。网上转存的文件偶尔会被套一层下载器装完桌面上多出三个不认识的图标那基本就是下错源了。第二件是确认安装程序是 Inno Setup 打包的这决定了后面能不能静默安装。判断方法很简单在命令行里跑一次带/HELP参数的安装包弹出参数说明窗口的就是 Inno Setup。# 在安装包所在目录打开 cmd先看安装程序支持哪些参数 HeidiSQL_9.2.0.4947_Setup.exe /HELP这条命令只是弹参数说明不会真的安装。看到/SILENT、/VERYSILENT、/DIR、/LOG这些选项就说明可以走无人值守安装后面第 3 章会用到。如果弹出的是别的界面说明这个安装包被别的工具重新打包过那就老老实实手动点。顺带说一句安装前把正在运行的 HeidiSQL 全部关掉。它不像浏览器那样有单实例限制可以同时开好几个窗口安装程序替换文件时如果主程序还占着 dll会提示文件正在使用点了忽略之后新旧文件混在一起启动时报的错会非常玄学。3. 走一遍安装向导Setup 每一步该填什么这一章按向导出现顺序走一遍中间插一段静默安装的写法最后讲便携版怎么落地。手动装和批量装是两条路选一条照着走就行。3.1 向导逐屏路径、组件、文件关联双击安装包之后第一屏是欢迎页第二屏是许可协议第三屏是最关键的安装路径。路径我一般改成D:\Tools\HeidiSQL理由有两个一是 C 盘空间紧张时不用惦记着迁移二是路径里没有空格后面写脚本调用 exe 的时候少一层引号处理。默认路径C:\Program Files\HeidiSQL当然也能用但它带空格在批处理里调用要写成C:\Program Files\HeidiSQL\heidisql.exe少一个引号就报不是内部或外部命令。组件选择那一屏安装程序会问你放不放桌面图标、要不要建快速启动项。桌面图标看个人习惯我通常只留开始菜单桌面上图标一多就找不到东西。文件关联那一项建议勾上.sql文件双击 SQL 文件直接用 HeidiSQL 打开比每次先开程序再拖文件进去省事。安装过程中如果杀毒软件弹窗拦截选择信任并继续。这一步被拦截是常有的事安装程序要往 Program Files 写文件、要写注册表启动项行为特征和某些捆绑软件相似。拦截之后最常见的后果是桌面或开始菜单的快捷方式没建上程序本体其实装好了手动去安装目录找heidisql.exe发个快捷方式就行不用重装。3.2 静默安装批量铺机器时的写法要给一批机器装同一套工具一个个点向导不现实。Inno Setup 的参数这时候就派上用场了。# 无人值守安装指定目录输出安装日志便于排查 HeidiSQL_9.2.0.4947_Setup.exe ^ /VERYSILENT ^ /SUPPRESSMSGBOXES ^ /NORESTART ^ /DIRD:\Tools\HeidiSQL ^ /LOGD:\Tools\heidisql_install.log参数逐个说清楚/VERYSILENT全程无界面连进度条都不显示。装完不会自动启动程序。/SUPPRESSMSGBOXES压掉所有提示框包括文件已存在是否覆盖这类。配合/VERYSILENT一起用单用/SILENT时进度条还在遇到对话框会卡住等人点。/NORESTART装完不重启机器。HeidiSQL 本身不需要重启但有些环境里安装程序会顺带触发系统重启提示加上这个参数就安静了。/DIR安装目录等号两边不要留空格路径里有空格要整体加引号。/LOG把安装过程写成日志文件。这是排查静默安装失败的关键装完目录是空的、快捷方式没建第一时间去看这个日志里面会明确写哪一步失败、错误码是多少。需要注意/TASKS参数控制桌面图标等附加任务在有些打包版本里任务名不一样不确定的话先别带装完手动补快捷方式比参数写错导致整批机器装出不同结果要稳妥。装完验证很简单DIR D:\Tools\HeidiSQL\heidisql.exe能列出来就说明装上了。想再稳一点直接跑heidisql.exe -h 你的主机 -u 用户名 -p 密码命令行连一次能弹出主窗口并且底部状态栏显示已连接就算这一批机器全部就位。3.3 便携版落地一个标记文件决定配置去向便携版的操作顺序和安装版不一样多一步声明便携。把压缩包解压到目标目录先别双击 exe。在资源管理器地址栏输入cmd回车在当前目录执行# 进入解压后的目录先创建便携模式标记文件 cd /d D:\Tools\HeidiSQL_Portable echo portable portablesettings.txt # 再启动主程序之后所有设置都会写在这个目录里 start heidisql.exeportablesettings.txt这个文件名是固定的大小写敏感度不高但内容无所谓哪怕只有一个空行也能生效——程序只判断这个文件存不存在。它存在配置就落在同目录不存在程序仍按注册表模式运行。这条逻辑解释了很多人的困惑把便携版目录拷到新机器上打开发现会话全没了原因就是拷贝时漏掉了这个标记文件程序回退到注册表模式读取而新机器的注册表里当然什么都没有。反过来如果想把便携版的会话带回安装版也不能直接拷目录得在会话管理器里导出再导入第 4 章会讲具体做法。便携版还有个细节多用户共用同一台机器时每个人的窗口布局、上次打开的文件都会写同一个配置文件互相覆盖。这种场景下我一般会每人复制一份目录而不是共用一个。4. 连接与会话配置参数怎么填才连得上装完了只是把工具摆到机器上真正决定能不能干活的是会话配置。这一章分三块基础连接参数怎么填、网络层SSH 和 SSL什么时候必须开、以及几项影响日常效率的偏好设置。4.1 会话管理器网络库、主机、端口怎么选打开程序后点左上角的新建按钮弹出会话管理器左边是会话列表右边是参数表单。第一项是网络类型下拉里有 MySQLTCP/IP、MySQL命名管道、PostgreSQL、Microsoft SQL Server、SQLite、Interbase 等。这一项选错后面怎么填都连不上。最常见的错是把 PostgreSQL 的库当成 MySQL 来连——端口都是 5432 和 3306 的区别但协议完全不同报错信息通常是握手失败或者直接超时。主机名这一栏本机数据库填127.0.0.1而不是localhost。这两个值在 MySQL 的授权体系里不是一回事localhost走的是 socket 或者被解析为 IPv6 的::1而服务端账号的 host 字段可能只授权了127.0.0.1。我在一台机器上排查过一次账号密码完全正确就是localhost连不上、127.0.0.1一把过原因是my.ini里bind-address写死了 IPv4 地址。端口默认值跟着网络类型走MySQL 是 3306、PostgreSQL 是 5432、SQL Server 是 1433。如果服务端改过端口这里要同步改改错的典型现象是连接转圈十几秒然后报无法连接到 MySQL 服务器而不是立刻报账号错误。用户名和密码不用多说要注意的是 HeidiSQL 会把密码加密后存在本地配置里下次打开不用重输。这个便利在公用机器上就是风险会话管理器里可以给单个会话设置启动时提示输入密码勾上之后每次连接都要手动填。客户端库那一栏通常留空让程序用自带的。只有当第 2 章提到的库冲突出现时才需要手动指定 dll 的完整路径。参数填完先点测试连接别急着保存。测试通过再保存能避免会话列表里堆一堆连不上的废会话。4.2 SSH 隧道和 SSL内网库的标准姿势数据库不对外开放端口是常态这时候连接要经过一层隧道或者加密。HeidiSQL 的会话设置里有 SSH 隧道标签页填 SSH 主机、端口、用户名认证方式选密码或者私钥文件。填完之后上面的主机名要改成从 SSH 服务器视角看数据库的地址通常是127.0.0.1或者内网 IP不是数据库对外的地址。这一点极易搞错很多人把隧道配好了主机名还填着公网地址结果流量绕了一圈又回到原点连接超时。SSH 私钥的格式也值得提一句。老式的 PEM 格式和新式的 OpenSSH 格式HeidiSQL 用的是 libssh 那一套遇到密钥加载失败先确认密钥没有设置口令或者换一个格式重新导出。这条不算玄学是版本差异导致的遇到时换格式比查文档快。SSL 标签页用于直连加密。MySQL 8 默认开启caching_sha2_password认证如果传输层没有加密有些配置下会直接拒绝连接。勾上使用 SSL证书校验方式里有忽略证书验证的选项内网自签证书场景下选这一项是最省事的做法。生产环境的公网连接不要忽略校验但内网机器之间的自签证书我一般会忽略理由是把精力花在账号权限和网络隔离上比折腾证书链更划算。4.3 编辑器与结果集偏好影响手感的三项装完能连上之后建议先调三处设置不然用起来会一直在别扭。第一处是数据网格的限制记录数。默认上限是 1000 行点开一张百万行的表只显示前 1000 条很多人以为是数据丢了。这个值在设置里能改我一般调到 10000既能看清数据分布又不至于把内存撑爆。真要全量看数据用 SQL 加LIMIT分页或者直接导出。第二处是编辑器的自动提交开关。工具栏上那个小小的对勾按钮控制是否自动提交默认是开的意味着执行一条UPDATE就立刻落库没有后悔药可吃。改数据之前我习惯先关掉自动提交手工点提交确认改错了还能回滚。第三处是导入文件的编码。用文件 → 运行 SQL 文件导入.sql脚本时界面上有编码选择默认是自动检测。中文内容导入后变成问号九成是这里选错了编码把 UTF-8 脚本按 GBK 读进去了。遇到这种先别怀疑数据库回去把编码下拉改成 UTF-8 重导一次。外观上还有字体和主题两项深色主题在夜间查数据时确实舒服但截图发给同事时对方经常看不清团队协作场景建议保持默认。5. 常见问题排查五个装完才现形的坑这一章的每一条都是装的时候没问题用起来才发现的类型按现象、原因、解决三段来写。5.1 报 1045 Access denied先分清是账号问题还是主机段问题现象点测试连接立刻返回Access denied for user xxxxxx密码反复确认没错。原因MySQL 的账号是用户名 主机段的组合applocalhost和app%是两个不同的账号权限也可能不一样。你在 HeidiSQL 里填127.0.0.1走的是 TCP服务端记录的来源主机可能是::1或者解析后的主机名匹配不上就被拒绝。另一种情况是密码里含特殊字符在配置文件或命令行里被 shell 转义掉了。解决先在服务端执行SELECT user, host FROM mysql.user;看清到底有哪些账号。需要本机和远程都能连就补一条app%或者app192.168.%的授权。密码里有$、!这类字符时命令行传参用单引号包住或者干脆在图形界面里填绕开 shell 转义。5.2 报 2003 / 10061端口、绑定地址和防火墙三连查现象连接卡住十几秒最后报Cant connect to MySQL server on x.x.x.x (10061)。原因10061 是连接被拒绝说明 TCP 层就没通。三种可能服务端没启动、服务端只监听了本机回环地址、防火墙拦了端口。解决按顺序查。先在服务器上netstat -an | findstr 3306看端口有没有在监听监听地址是0.0.0.0还是127.0.0.1。如果是后者改my.ini里的bind-address之后重启服务。端口监听正常还连不上再去查防火墙入站规则。我在云主机上遇到过一次安全组开着但系统防火墙没放行两边都要看。5.3 升级后会话全丢配置文件的位置变了现象从旧版本升到 9.2.0.4947装完打开之前存的二十几个会话一个都不见了。原因会话存在HKEY_CURRENT_USER\Software\HeidiSQL下正常情况下升级不会动这个位置。会话丢失通常是因为升级时换了 Windows 账户或者之前用的是便携版、这次装的是安装版两条配置路径不通。解决升级前先做备份。会话管理器里全选会话右键导出会话存成一个文本文件里面是明文的连接参数。升级完再导入会话即可。这个动作我现在是无条件的装任何新版本之前都导一次成本十秒钟省下的重填时间按小时算。5.4 中文变问号连接字符集和文件编码两处都要看现象表里的中文在 HeidiSQL 里显示成???或者导入的 SQL 文件跑完之后数据全是乱码。原因分两种。显示乱码多半是连接字符集和服务端不一致执行SHOW VARIABLES LIKE character_set%;能看到character_set_client、character_set_connection这些值。导入乱码则基本是文件编码选错。解决显示问题先看服务端字符集再确认 HeidiSQL 的连接是否按服务端字符集协商。导入问题回到第 4.3 节说的编码下拉框。如果数据已经写坏了只能从原始文件按正确编码重导乱码是不可逆的这一点没有后悔药。5.5 安装程序被拦截、卸载留残留现象双击安装包没反应或者装到一半被杀毒软件终止卸载重装后旧会话还在或者程序起不来。原因安装程序要写 Program Files 和注册表安全软件的行为拦截是正常的。卸载残留则是因为卸载程序默认保留用户设置。解决拦截时看安全软件的拦截记录把安装包加入信任别直接关防护。卸载时如果想彻底清干净先导出会话然后卸载程序 手动删掉HKEY_CURRENT_USER\Software\HeidiSQL这一项。重装报错起不来的把这个注册表项删掉再装一次多半就好了——这算是一条血泪经验配置文件损坏导致的启动失败比重装程序本身管用得多。6. 装完怎么验三条查询加一次导出闭环程序能打开不算装好能稳定读写数据才算。我一般用三步验证全程不超过五分钟。第一步连上之后在查询窗口执行几条语句确认权限和字符集都对-- 确认当前连接的库和账号排除连错实例 SELECT DATABASE(), CURRENT_USER(), VERSION(); -- 确认字符集中文环境重点看这三项 SHOW VARIABLES LIKE character_set%; -- 建一张临时表做写入验证用完即删 CREATE TEMPORARY TABLE t_verify ( id INT PRIMARY KEY, name VARCHAR(50) ) DEFAULT CHARSET utf8mb4; INSERT INTO t_verify VALUES (1, 中文写入验证); SELECT * FROM t_verify;第一条查询里的CURRENT_USER()返回的是账号主机段和你填的用户名可能不一样正好可以用来核对 5.1 节说的授权匹配问题。第二条的字符集三项如果出现latin1中文迟早出问题趁早改服务端配置。第三条最直观能建表、能插入、能查回中文说明这条连接从认证到字符集整条链路是通的。临时表在会话断开后自动消失不会留下垃圾。第二步验证导出。右键数据库选导出数据库为 SQL导一份结构加数据出来再用运行 SQL 文件导回去。这一步看着多余实际上能暴露很多平时发现不了的问题文件编码对不对、大字段会不会截断、特殊字符转义有没有问题。迁移场景里这一步是必做的毕竟真正出事的时候你需要的是能跑的导出脚本而不是一个能连上的客户端。第三步做一张自检表贴在工位旁边下次换机器照着勾检查项通过标准出问题看哪里程序启动主窗口正常无 dll 报错安装目录下的客户端库文件连接测试会话管理器测试连接成功端口、绑定地址、账号主机段字符集三项均为 utf8mb4服务端 my.ini、导入文件编码读写验证临时表增删查正常账号的 INSERT/UPDATE 权限导出闭环导出脚本可重新导入导出选项里的编码和建表语句最后说个习惯。我现在的做法是每台机器装完 HeidiSQL先把会话导出成一份文本文件和安装包放在同一个目录里文件名带上机器名和日期。这样不管是重装系统、换机器还是升级到下一个版本恢复会话都是双击导入的事。工具本身的安装在 9.2.0.4947 这个版本上已经足够简单真正耗时间的一直是那些没备份的会话和没想清楚就乱填的参数。希望帮到你。本文还有配套的精品资源点击获取
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →