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

MySQL 4.1 Alpha 版安裝與升級實戰:壓縮包部署、權限表遷移、服務註冊

     編輯:MySQL 資料庫相關知識

版本定位

MySQL 4.1 為 Alpha 測試版 (文中 2003 年視角),引入子查詢、準備語句、字符集支援、幫助系統等重大特性,**不建議生產使用**,適合功能驗證、兼容性測試。

全新安裝 (壓縮包 / 免安裝版)

  1. 下載 mysql-4.1.x-win32.zip,解壓至 C:\MySQL (默認路徑最省心)
  2. 管理員命令行註冊服務:
cd C:\MySQL\bin
mysqld-nt --install          # 或 mysqld-max-nt --install
net start MySQL
  1. 驗證:mysql -u root 空密碼登入成功

非默認路徑**:必須創建 my.ini 指定 basedir/datadir,否則服務啟動失敗。

升級安裝 (3.23.x / 4.0.x → 4.1)

  1. 備份:mysqldump --all-databases --single-transaction --master-data=2 > backup.sql (文中僅提「備份數據目錄」)
  2. 停服務並移除:
net stop MySQL
mysqld-nt --remove
# 關閉 WinMySQLAdmin 等管理工具
  1. 覆蓋文件:保留 data 目錄,其他文件全部用 4.1 版覆蓋
  2. 跳過授權表啟動**:
mysqld-nt --skip-grant-tables
  1. 升級系統表**:
mysql < C:\MySQL\scripts\mysql_fix_privilege_tables.sql

此腳本會:添加新權限列 (如 ssl_type、Create_view_priv)、調整表結構、填充默認值。

  1. 重啟驗證**:
mysqladmin -u root shutdown
mysqld-nt --install
net start MySQL
mysql -u root -p  # 新版權限生效

關鍵變更提醒 (4.0 → 4.1)

領域變更影響
字符集表/列/連接級字符集、SET NAMES舊應用可能亂碼,需顯式指定字符集
子查詢支援 SELECT ... WHERE col IN (SELECT ...)可簡化應用邏輯,但早期優化器不成熟
準備語句PREPARE/EXECUTE/DEALLOCATE PREPARE防注入、性能提升,需驅動支援
幫助系統HELP 'command'客戶端內建文檔
頭文件結構體大幅調整UDF/連接器需重新編譯

現代視角的升級最佳實踐

  1. 原地升級風險高:建議**新實例導入** (mysqldump/XtraBackup + Replication 追同步 + 切流量)
  2. 版本跳躍限制:僅支援相鄰大版本 (5.6→5.7→8.0),跨版本需中轉
  3. mysql_upgrade 必執行**:5.7+ 內建,自動修復系統表、檢查不兼容語法、重建索引統計
  4. 測試先行**:兼容性測試 (SQL 模式、保留字、優化器行為)、性能基準、應用驗證
  5. 回滾預案**:保留舊實例只讀 48h,Binlog 位點記錄,支持秒級回切

結語

MySQL 4.1 的手工升級流程 (備份→停服務→覆蓋文件→skip-grant-tables→mysql_fix_privilege_tables) 反映了早期版本缺乏 mysql_upgrade 自動化工具的歷史缺憾。現代運維應堅持**「不原地升級、不跨大版本、不無演練上線、不無回滾方案」**,將升級風險降至理論最小值。

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