Mysql
Windows 上的 MySQL 升級
我在 Windows 盒子上安裝了 MySQL 5.1。現在我想升級到最新的 MySQL 5.6 版本。
我打算將 MySQL 5.6 安裝在具有相同埠 3306 的同一台伺服器上。安裝後,我會將新的安裝數據目錄映射到 MySQL 5.1 使用的舊數據目錄。
在此之後,我將使用
mysql_upgrade.exe
.這個計劃會成功嗎?也讓我知道是否需要注意任何預防措施。
編輯:這是生產伺服器,數據庫大小為 100 GB,因此我們無法使用耗時的備份和恢復機制。
實際上,這個計劃對
mysql
模式來說有點危險。為什麼 ?您正在升級兩個版本。mysql_upgrade 不會對此做出很好的反應。我有一個文章有人升級但沒有解決
mysql.user
:從 MySQL 5.1.73 升級到 5.6.21 的任何已知問題?我有關於如何一次升級兩個版本的舊文章
Apr 11, 2013
: MySQL 5.0.88 升級到最新(最佳參考)Feb 08, 2012
:從 5.5.20 到 5.0.XX 伺服器的複制會起作用嗎?Jul 26, 2011
:將舊備份恢復到最新的 MySQL 版本這是關於如何使用純 SQL 移動授權的附加文章:Upgradeing mysql myisam 5.1 to mysql 5.6: force innodb on restore?. 那篇文章是基於 Linux 的。
要在 Windows 中執行此操作,請執行以下步驟
步驟 01:執行這個
set MYSQL_USER=root set MYSQL_PASS=rootpassword set MYSQL_CONN=-u%MYSQL% -p%MYSQL_PASS% set SQLSTMT="SELECT CONCAT('SHOW GRANTS FOR ',QUOTE(user),'@',QUOTE(host),';') set SQLSTMT=%SQLSTMT% FROM mysql.user WHERE user<>''" mysql %MYSQL_CONN% -ANe%SQLSTMT% > GetGrants.sql echo "SET sql_log_bin = 0;" > MySQLUserGrants.sql mysql %MYSQL_CONN% -AN < GetGrants.sql >> MySQLUserGrants.sql
STEP 02 : 在每一行附加一個分號
MySQLUserGrants.sql
步驟 03:載入
MySQLUserGrants.sql
到 MySQL 5.6 設置
您可以通過以下步驟實現這一點
- 在最新版本的某個新埠上安裝新實例。
- 交換配置文件中的數據目錄和交換埠。
- 執行mysql升級。
- 驗證新安裝。
為了更安全,您可以進行舊數據庫備份(活動前的文件夾副本或 mysqldump 或 mysqlenterprisebackup 等)
希望能幫助到你