首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Access/Excel 遷移 MySQL 實戰 (二):MySQL 安裝、建庫建表、MyODBC 配置系統 DSN 完整步驟

     編輯:MySQL 資料庫相關知識

軟體獲取與版本 (文中 2003 年背景)

  • MySQL:mysql-3.23.40-win.zip (Intel 版),官網 dev.mysql.com
  • MyODBC:MyODBC 2.50.37 for NT/2000 (full setup),**注意區分 95/98 版**

MySQL 安裝與服務註冊 (Windows 2000)

  1. 解壓至 C:\mysql
  2. 管理員命令行註冊服務:
C:\mysql\bin\mysqld-nt --install
# 服務名默認 "MySQL",顯示在 services.msc
  1. 或直接運行 winmysqladmin.exe (圖形管理工具),首次會提示設置 Root 密碼
  2. 驗證:net start MySQL,mysql -u root -p 連接成功

建庫建表:業務場景「樓盤資料」

mysqladmin -u root -p create build
mysql -u root -p -e "USE build; CREATE TABLE loupan (
    id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    loupantype VARCHAR(6),
    inputdate DATE,
    at_whatsection VARCHAR(6),
    buildname VARCHAR(50),
    buildaddress VARCHAR(50),
    room TINYINT(4),
    hall TINYINT(4),
    areasize DECIMAL(10,2),
    exp_sellprice DECIMAL(13,2),
    ownername VARCHAR(20),
    contactway VARCHAR(50),
    memo VARCHAR(255),
    updatestatus CHAR(1),
    goodloupan CHAR(1),
    PRIMARY KEY (id)
) ENGINE=MyISAM;"  # 文中版本默認 MyISAM

字段業務含義:ID自增主鍵、樓盤類型、錄入日期、所在區域、樓盤名、地址、房/廳數、面積、期望售價、業主、聯系方式、備註、更新狀態、篩選標記。

MyODBC 系統 DSN 配置 (關鍵步驟)

  1. 控制面板 → **管理工具 → 數據源 (ODBC)** → **系統 DSN** 標籤
  2. 添加 → 選擇 **MySQL ODBC 3.51 Driver** (或對應版本)
  3. 配置項:
字段示例值說明
Windows DSN NamebuildDSN 名稱,應用連接字串用此名
MySQL Hostlocalhost本機;遠程填 IP/域名
MySQL Database Namebuild目標數據庫
Userroot連接用戶
Password******密碼 (文中 root 有密碼)
Port3306默認端口
  1. 點擊 **Test** → 顯示 "Connection Successful" → 確定
  2. 系統 DSN 列表出現 build,配置完成

常見 DSN 配置坑點

現象原因解決
Test 失敗:Can't connect to MySQL server服務未啟動、防火牆攔截、bind-address=127.0.0.1 但填遠程 IP檢查服務、防火牆、my.ini bind-address
Test 失敗:Access denied for user用戶/密碼錯誤、主機不匹配 (user@'localhost' vs user@'%')SELECT User, Host FROM mysql.user; 核對、授權
應用連接亂碼DSN 未指定字符集、驅動默認 latin1DSN 設置 Character Set = utf8 (舊版) / utf8mb4 (新版)
大數據包報錯max_allowed_packet 默認 1MB/4MBDSN 勾選 "Enable Large Packet" 或 my.ini max_allowed_packet=64M
事務不支援MyISAM 不支援事務,DSN 無法改變引擎建表指定 ENGINE=InnoDB,或 ALTER TABLE 轉換

現代化部署差異 (2024 vs 2003)

  • 安裝**:MSI 安裝包 / Docker / 包管理器 (apt/yum/brew/choco) — 免手工解壓註冊
  • 配置**:my.cnf 統一管理,無需 winmysqladmin
  • 驅動**:MySQL Connector/ODBC 8.0/8.4 (Unicode、TLS 1.2、GSSAPI、Connection Pooling)
  • 字符集**:全鏈路 utf8mb4,無需 DSN 額外指定
  • 安全**:默認 bind-address=127.0.0.1、require_secure_transport、validate_password

結語

MySQL + MyODBC + 系統 DSN 是 Windows 早期「異構數據互通」的標準三件套。**DSN 將連接參數集中化、應用去硬編碼**,思想延續至今天的 **Connection String / 服務發現 / 配置中心**。現代部署雖工具鏈升級,但「解壓→註冊服務→建庫→建表→配置 DSN→測試通」六步驟的**邏輯骨架從未改變**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved