避坑指南)
簡介Navicat for MySQL 10.0.11簡體中文版是一款面向數(shù)據(jù)庫管理員、后端開發(fā)人員及運維工程師的MySQL圖形化管理工具尤其適合需要中文界面、希望降低上手門檻的國內(nèi)用戶。它整合了數(shù)據(jù)庫連接管理、數(shù)據(jù)瀏覽編輯、SQL編寫調(diào)試、數(shù)據(jù)同步遷移、備份恢復(fù)與權(quán)限控制等常用能力可覆蓋日常運維與項目開發(fā)中的多數(shù)數(shù)據(jù)庫操作場景。資源以rar壓縮包形式提供整體約17.22MB包內(nèi)文件總數(shù)暫未獲取到明細(xì)主要圍繞該版本安裝與使用所需內(nèi)容組織便于直接部署體驗。目前已有607人學(xué)習(xí)下載說明該版本在中文用戶群體中仍有一定關(guān)注度。借助其可視化數(shù)據(jù)編輯、圖表展示與計劃任務(wù)備份等功能讀者可快速完成建庫建表、增刪改查、結(jié)構(gòu)比對與數(shù)據(jù)遷移等任務(wù)減少命令行操作成本提升MySQL管理效率。1. 為什么還有人專門找 Navicat for MySQL 10.0.11 這個老版本上周幫一個做企業(yè)內(nèi)訓(xùn)的朋友整理數(shù)據(jù)庫教學(xué)環(huán)境他提了個需求學(xué)員機(jī)全是 Windows 7裝最新版 Navicat 各種報錯問我有沒有那種“裝完就能連、界面還是中文”的老版本。我第一反應(yīng)就是 Navicat for MySQL 10.0.11 簡體中文版——這個版本在數(shù)據(jù)庫工具圈子里屬于典型的“夠用且不挑機(jī)器”的存在。它本質(zhì)上是一個 MySQL 圖形化客戶端把建庫建表、寫 SQL、導(dǎo)數(shù)據(jù)、看執(zhí)行計劃這些活從命令行搬到可視化界面里適合剛接觸 MySQL 的學(xué)員、需要快速查數(shù)的運營以及維護(hù)老系統(tǒng)的運維。核心價值就三點安裝包小、對老系統(tǒng)友好、簡體中文界面沒有學(xué)習(xí)門檻。下面我按“拿到包之后怎么落地”的順序把安裝、連接、常用操作和幾個血淚坑一次講清。2. 裝之前先搞清環(huán)境10.0.11 的安裝條件與連接原理2.1 這個版本到底依賴什么Navicat for MySQL 10.0.11 是原生 Windows 桌面程序不是 Web 端也不依賴 .NET 運行時。它通過 MySQL 的 C API 或者自帶的連接層直接跟服務(wù)端通信所以你在客戶端這邊不需要裝 MySQL 服務(wù)只需要保證網(wǎng)絡(luò)能通到目標(biāo)數(shù)據(jù)庫的 3306 端口。常見做法是學(xué)員機(jī)裝客戶端講師的服務(wù)器或者云數(shù)據(jù)庫開一個賬號給學(xué)員連。這里有個容易翻車的點——很多人以為 Navicat 裝完就自帶數(shù)據(jù)庫其實它只是個“遙控器”電視MySQL 服務(wù)得另外有。安裝包一般是單個 exe雙擊后一路下一步。安裝路徑建議不要帶中文和空格比如D:\Navicat10這種就比D:\數(shù)據(jù)庫工具\Navicat 10.0.11穩(wěn)因為老版本對中文路徑的兼容性偶爾會出玄學(xué)問題。安裝完成后桌面會出現(xiàn)快捷方式首次啟動會問你要不要注冊教學(xué)場景下用試用或者導(dǎo)入授權(quán)文件都行這里不展開。2.2 連接配置里那幾個參數(shù)怎么填新建連接時面板上要填的字段不多但每個都有講究。主機(jī)名填 IP 或域名端口默認(rèn) 3306如果服務(wù)端改過端口就按實際填。用戶名和密碼是 MySQL 服務(wù)端那邊建好的賬號不是 Navicat 自己的賬號這點新手最容易搞混。下面是一個連接配置的對照表照著填基本不會錯字段填什么常見錯誤連接名自定義比如test_3306用中文名在某些老系統(tǒng)上顯示亂碼主機(jī)名數(shù)據(jù)庫服務(wù)器 IP 或域名填了localhost但數(shù)據(jù)庫在另一臺機(jī)器端口默認(rèn) 3306服務(wù)端改了端口沒同步改用戶名MySQL 賬號如root填成 Navicat 的注冊用戶名密碼MySQL 密碼密碼里有特殊字符導(dǎo)致解析失敗填完點“測試連接”如果提示2003 - Cant connect to MySQL server先別懷疑 Navicat九成是網(wǎng)絡(luò)或者服務(wù)端沒開遠(yuǎn)程訪問??梢栽诿钚杏胻elnet 服務(wù)器IP 3306試一下端口通不通通不了就是防火墻或者 MySQL 的bind-address問題。2.3 第一次連上之后先做三件事連上之后不要急著建表先做三個確認(rèn)動作。第一看左側(cè)連接樹能不能展開能展開說明賬號至少有庫的查看權(quán)限。第二右鍵連接選“命令行界面”敲一句select version();確認(rèn)服務(wù)端版本因為 10.0.11 對 MySQL 5.7 和 8.0 的默認(rèn)認(rèn)證方式支持不一樣8.0 的caching_sha2_password在老客戶端上可能連不上。第三打開“工具”菜單里的“服務(wù)器監(jiān)控”看能不能讀到狀態(tài)讀不到說明賬號權(quán)限被限制了。提示如果服務(wù)端是 MySQL 8.0 且賬號用的是默認(rèn)認(rèn)證插件10.0.11 可能報Authentication plugin caching_sha2_password cannot be loaded。解決辦法是在服務(wù)端把該賬號改成mysql_native_password命令是ALTER USER 用戶名% IDENTIFIED WITH mysql_native_password BY 密碼;改完刷新權(quán)限再連。3. 把 Navicat 10.0.11 用起來建庫建表、導(dǎo)數(shù)據(jù)、寫查詢3.1 建庫建表圖形化操作和 SQL 預(yù)覽在左側(cè)連接上右鍵選“新建數(shù)據(jù)庫”字符集一般選utf8或utf8mb4排序規(guī)則選utf8_general_ci。這里有個細(xì)節(jié)10.0.11 的界面里字符集下拉框可能只顯示utf8不顯示utf8mb4如果你要存 emoji 就得手動在 SQL 里建庫。建完庫右鍵選“新建表”在可視化設(shè)計器里加字段每加一個字段下方會實時生成對應(yīng)的 SQL 預(yù)覽。這個預(yù)覽功能對教學(xué)特別有用學(xué)員能直接看到圖形操作對應(yīng)什么 DDL。下面是一段建表 SQL可以在 Navicat 的查詢窗口里直接跑也可以在設(shè)計器里對照著看-- 建一張學(xué)員信息表字符集用 utf8mb4 兼容 emoji CREATE TABLE student_info ( id INT NOT NULL AUTO_INCREMENT COMMENT 主鍵, name VARCHAR(50) NOT NULL COMMENT 姓名, class_name VARCHAR(50) DEFAULT NULL COMMENT 班級, score DECIMAL(5,2) DEFAULT 0.00 COMMENT 成績, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 創(chuàng)建時間, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT學(xué)員信息表;這段 SQL 里AUTO_INCREMENT讓 id 自增DECIMAL(5,2)表示總共 5 位、小數(shù) 2 位適合存成績。TIMESTAMP DEFAULT CURRENT_TIMESTAMP讓插入時自動填時間省得手動寫。在 Navicat 里執(zhí)行完左側(cè)刷新就能看到新表右鍵“設(shè)計表”還能繼續(xù)改結(jié)構(gòu)。3.2 導(dǎo)入導(dǎo)出Excel 和 CSV 的實操步驟教學(xué)場景經(jīng)常要把 Excel 里的學(xué)員名單導(dǎo)進(jìn)數(shù)據(jù)庫。Navicat 10.0.11 的導(dǎo)入向?qū)г凇肮ぞ摺辈藛卫镞x“導(dǎo)入向?qū)А备袷竭x Excel 或 CSV然后按步驟走。關(guān)鍵在字段映射那一步源文件的列名要和目標(biāo)表的字段對應(yīng)上對不上的可以手動拖。常見翻車是 Excel 里第一行是標(biāo)題導(dǎo)入時沒勾“首行包含列名”結(jié)果標(biāo)題被當(dāng)成數(shù)據(jù)插進(jìn)去。導(dǎo)出更簡單在表上右鍵選“導(dǎo)出向?qū)А边x Excel 或 CSV注意編碼選UTF-8不然中文在 Excel 里打開會亂碼。如果導(dǎo)出后要用 Excel 直接雙擊打開可以選GBK編碼但更推薦導(dǎo)出 CSV 再用 Excel 的“數(shù)據(jù)-從文本導(dǎo)入”指定 UTF-8。-- 導(dǎo)入前可以先清空表避免重復(fù)數(shù)據(jù) TRUNCATE TABLE student_info; -- 導(dǎo)入后驗證條數(shù) SELECT COUNT(*) AS total FROM student_info;TRUNCATE比DELETE快而且會重置自增 id教學(xué)演示時常用。驗證條數(shù)是為了確認(rèn)導(dǎo)入沒有中途斷掉尤其是數(shù)據(jù)量大的時候。3.3 查詢窗口和結(jié)果集編輯查詢窗口是 Navicat 最核心的功能。點“查詢-新建查詢”寫 SQL 后按CtrlR運行結(jié)果集顯示在下方。10.0.11 的結(jié)果集支持直接編輯雙擊單元格改值改完點“對勾”提交Navicat 會自動生成對應(yīng)的UPDATE語句。這個功能對修數(shù)據(jù)很方便但要注意——如果表沒有主鍵結(jié)果集編輯可能不可用因為客戶端沒法定位到具體行。另一個實用功能是“查詢構(gòu)建器”可以拖表、勾字段、加條件自動生成 SQL。對不熟悉 JOIN 的學(xué)員來說先用構(gòu)建器拖出結(jié)果再切到 SQL 預(yù)覽看生成的語句是個不錯的學(xué)習(xí)路徑。注意在結(jié)果集里直接改數(shù)據(jù)時如果改的是主鍵或者唯一索引字段提交可能失敗并提示重復(fù)。這時候要么改回原值要么先在 SQL 里處理好沖突。4. 避坑排查10.0.11 在老環(huán)境里最容易翻車的五件事4.1 連接報 1251 錯誤客戶端不支持認(rèn)證插件現(xiàn)象連 MySQL 8.0 時彈窗1251 - Client does not support authentication protocol requested by server。原因MySQL 8.0 默認(rèn)用caching_sha2_password10.0.11 這個老客戶端只認(rèn)mysql_native_password。解決在服務(wù)端執(zhí)行ALTER USER 賬號% IDENTIFIED WITH mysql_native_password BY 密碼;然后FLUSH PRIVILEGES;。如果服務(wù)端是云數(shù)據(jù)庫一般在控制臺能改認(rèn)證方式。4.2 中文亂碼建庫時字符集選錯現(xiàn)象插入中文后顯示問號或者亂碼。原因建庫時字符集選了latin1或者連接屬性里沒設(shè)utf8。解決建庫時明確選utf8mb4連接屬性里在“高級”選項卡把編碼設(shè)為UTF-8。已經(jīng)建錯的庫可以用ALTER DATABASE 庫名 CHARACTER SET utf8mb4;補(bǔ)救但已有數(shù)據(jù)的表要單獨改。4.3 導(dǎo)入 Excel 時日期變成一串?dāng)?shù)字現(xiàn)象Excel 里的日期導(dǎo)入后變成44562這種數(shù)字。原因Excel 內(nèi)部用序列號存日期導(dǎo)入時沒做轉(zhuǎn)換。解決在導(dǎo)入向?qū)У淖侄斡成淠且徊桨涯繕?biāo)字段類型設(shè)為DATE或DATETIMENavicat 會嘗試轉(zhuǎn)換或者先在 Excel 里把日期列格式化成文本yyyy-mm-dd再導(dǎo)。4.4 執(zhí)行大 SQL 文件時卡死或超時現(xiàn)象用“運行 SQL 文件”導(dǎo)入幾百 MB 的腳本進(jìn)度條卡住然后報超時。原因10.0.11 默認(rèn)的執(zhí)行超時時間較短大文件容易觸發(fā)。解決在連接屬性里把“保持連接間隔”調(diào)大或者用命令行mysql -u用戶 -p 庫名 文件.sql來導(dǎo)入繞開客戶端限制。如果非要用 Navicat可以把大文件拆成多個小文件分批跑。4.5 在 Win7 上安裝后打不開提示缺少 DLL現(xiàn)象雙擊圖標(biāo)沒反應(yīng)或者提示msvcr100.dll缺失。原因系統(tǒng)缺少 Visual C 運行庫。解決裝一個vcredist_x86或vcredist_x64根據(jù)系統(tǒng)位數(shù)裝完重啟再打開。這個不是 Navicat 本身的問題是老 Windows 的通病。5. 進(jìn)階技巧用“數(shù)據(jù)傳輸”和“計劃任務(wù)”把重復(fù)活干掉5.1 數(shù)據(jù)傳輸跨庫跨服務(wù)器搬數(shù)據(jù)Navicat 10.0.11 的“數(shù)據(jù)傳輸”在工具菜單里作用是把一個連接里的庫搬到另一個連接。比如把測試庫的數(shù)據(jù)同步到正式庫或者把本地開發(fā)庫傳到云服務(wù)器。操作步驟選源連接和目標(biāo)連接勾要傳的表點開始。傳輸過程中可以選“創(chuàng)建表”還是“追加數(shù)據(jù)”如果目標(biāo)表已存在就選追加不存在就選創(chuàng)建。這里有個參數(shù)值得注意傳輸模式里的“使用完整插入語句”和“使用擴(kuò)展插入語句”。完整插入是一條一條INSERT擴(kuò)展插入是把多條合成一條INSERT INTO ... VALUES (...),(...);。數(shù)據(jù)量大時擴(kuò)展插入快很多但單條 SQL 太長可能觸發(fā)服務(wù)端的max_allowed_packet限制。我一般先試擴(kuò)展報錯再換完整。-- 傳輸前可以在目標(biāo)庫先建好空表結(jié)構(gòu)避免傳輸時鎖表 -- 查看當(dāng)前 max_allowed_packet 大小 SHOW VARIABLES LIKE max_allowed_packet;如果這個值小于 4M傳輸大表時容易斷可以在服務(wù)端臨時調(diào)大SET GLOBAL max_allowed_packet 67108864;改完重連生效。5.2 計劃任務(wù)定時備份和定時跑 SQL10.0.11 自帶一個簡易的計劃任務(wù)功能可以定時執(zhí)行查詢、備份、數(shù)據(jù)傳輸。入口在“工具-計劃任務(wù)”新建一個任務(wù)選要執(zhí)行的操作然后設(shè)觸發(fā)時間。比如每天凌晨 2 點把某張表導(dǎo)出成 CSV或者每周一跑一次統(tǒng)計 SQL 把結(jié)果存到匯總表。配置時注意兩點一是任務(wù)運行時 Navicat 必須處于打開狀態(tài)它不是系統(tǒng)服務(wù)關(guān)掉客戶端任務(wù)就不跑了二是任務(wù)日志在“計劃任務(wù)”窗口的“日志”選項卡里跑失敗了先看日志里的錯誤碼。常見失敗是權(quán)限不足或者路徑不存在比如導(dǎo)出路徑寫了個不存在的文件夾。提示如果要做無人值守的定時備份更穩(wěn)的方案是用 MySQL 自帶的mysqldump配合系統(tǒng)計劃任務(wù)Navicat 的計劃任務(wù)適合臨時或輕量場景。5.3 一個我常用的驗證習(xí)慣每次用數(shù)據(jù)傳輸或者計劃任務(wù)搬完數(shù)據(jù)我不會只看“成功”提示而是會跑一句校驗 SQL 對比源庫和目標(biāo)庫的條數(shù)-- 在源庫和目標(biāo)庫分別執(zhí)行對比結(jié)果 SELECT COUNT(*) FROM student_info; SELECT MAX(id) FROM student_info;條數(shù)一致、最大 id 一致基本能確認(rèn)數(shù)據(jù)完整。如果條數(shù)對不上就去查傳輸日志里有沒有跳過某些行。這個習(xí)慣是從一次翻車經(jīng)歷來的——有次傳完提示成功結(jié)果目標(biāo)庫少了十幾條原因是源表里有幾行主鍵沖突被靜默跳過了。從那以后我每次搬數(shù)據(jù)都強(qiáng)制走一遍條數(shù)校驗寧可多花十秒也不想到用的時候才發(fā)現(xiàn)數(shù)據(jù)缺了。希望幫到你。本文還有配套的精品資源點擊獲取