酷!學園

技術討論區 => database 討論版 => 主題作者是: unitcell 於 2010-08-19 15:25

主題: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-19 15:25
Hi all,

3.x版要升級至5.1, 遇上問題.

看手冊提到要依版本系列升級.

重點來了. 4.0.x , 4.1.x 抓不到,

這怎升級... ?

Thanx.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: Yamaka2010-08-19 16:21
Hi all,

3.x版要升級至5.1, 遇上問題.

看手冊提到要依版本系列升級.

重點來了. 4.0.x , 4.1.x 抓不到,

這怎升級... ?

Thanx.

將資料全部倒出來(mysqldump)
直接灌新版的mysql, 然後再將資料灌回去
這樣就沒有版本升級的問題了  :D
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-19 17:42
引用
將資料全部倒出來(mysqldump)
直接灌新版的mysql, 然後再將資料灌回去
這樣就沒有版本升級的問題了  :D

不會吧!? 新版的吃的進.

舊版的dump出來, 除了資料外,會有一些表記語法.
新版的不吃耶.

Error like below,

ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-------------------------------------------------------

DROP TABLE IF EXIS' at line 1
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: hikohan2010-08-19 17:51
那錯誤寫什麼?用編輯器修改過後吃得進去嗎?
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-19 22:19
那錯誤寫什麼?用編輯器修改過後吃得進去嗎?

ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-------------------------------------------------------

DROP TABLE IF EXIS' at line 1
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: hikohan2010-08-19 22:24
我有看懂,你有嗎?就差一步。
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-19 22:25
我有看懂,你有嗎?就差一步。

版本不符!
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: gwstudy2010-08-19 22:57
版本不符!

會有錯誤當然是版本不符,但那句不是說版本不符。
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: jlovet2010-08-19 22:57
ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1 (http://ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1)
這裡還可以找到舊版的。

不過,把exis改成exist可以嗎?
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-19 23:41
ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1 (http://ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1)
這裡還可以找到舊版的。

不過,把exis改成exist可以嗎?

非exis or exist問題.
3.23.x 版, dump 出, 亦可吃回(一樣的檔).
若3.23.x版, dump出, 喂給5.1.x, 就出上面錯.

4.1還有, 4.0就...

PS:Mysql Manual,
As a general rule, to upgrade from one release series to another, you should go to the next series rather than skipping a series.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: micmic32010-08-20 09:09
用 mysql administrator 連進去 3.x 備份出來..再倒到 5.x
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-20 10:43
用 mysql administrator 連進去 3.x 備份出來..再倒到 5.x

As a general rule, to upgrade from one release series to another, you should go to the next series rather than skipping a series.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: twu22010-08-20 10:55
如果是 MyISAM 格式 (3.x 應該都是用這個吧?), 直接把那些檔案拿來用也是可以.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-20 11:14
如果是 MyISAM 格式 (3.x 應該都是用這個吧?), 直接把那些檔案拿來用也是可以.

是MyISAM.

直接拿來用, 的意思是?

mysql -u root -p xxx < xxx.sql 嗎? 若是就會出現如上的error.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-20 11:16
還是哪位大大有 mysql-4.0.x...tgz的檔, 提供一下.
感恩!
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: twu22010-08-20 11:48
直接把那些檔案放到新版本的資料庫目錄下就可以用了. 不用 dump 也不需要 restore.

如果你不知道什麼是 MyISAM 格式的檔案, 就當我沒說好了.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: unitcell2010-08-20 14:17
直接把那些檔案放到新版本的資料庫目錄下就可以用了. 不用 dump 也不需要 restore.

如果你不知道什麼是 MyISAM 格式的檔案, 就當我沒說好了.

報告, 當小弟依您做法後, 下 select * from product;
出現,
ERROR 1034(HY000):Incorrect key file for table 'product';
try to repair it

所有表格,要調出內容皆出現同樣錯誤.
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: kknrs294232010-08-20 17:43
直接把那些檔案放到新版本的資料庫目錄下就可以用了. 不用 dump 也不需要 restore.

如果你不知道什麼是 MyISAM 格式的檔案, 就當我沒說好了.

報告, 當小弟依您做法後, 下 select * from product;
出現,
ERROR 1034(HY000):Incorrect key file for table 'product';
try to repair it

所有表格,要調出內容皆出現同樣錯誤.

先依訊息提示repair table看看吧

話說這種跨這麼大的版本升級,本來就很容易會因實際狀況不同而會有一定的問題存在。
官方跟樓上大大所提供的正規或非正規的方式,都可能會因現實使用狀況不同,而不一定直接照作就有效,但這些作法都是可行,只是要會需要依狀況來作debug。

如果有了解架構的rd或dba在的話,應該是請rd或dba來轉移比較好,或是外面請個顧問協助轉移也是一個方式 ;D
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: rainday2010-08-21 01:50
不同版本用dump的方式,有遇到的大概只有新版本,有新的保留字,有些欄位名就要用``括起來,及一些指令語法的修正
應該沒有太大的問題
照著restore還原回去的error訊息,修正即可
主題: 回覆: [Help]MySQL 3.x 升級 ?
作者: Yamaka2010-08-22 06:47
ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1 (http://ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1)
這裡還可以找到舊版的。

不過,把exis改成exist可以嗎?

非exis or exist問題.
3.23.x 版, dump 出, 亦可吃回(一樣的檔).
若3.23.x版, dump出, 喂給5.1.x, 就出上面錯.

4.1還有, 4.0就...

PS:Mysql Manual,
As a general rule, to upgrade from one release series to another, you should go to the next series rather than skipping a series.


會碰到問題是正常的吧, 樓主有將錯誤訊息用 google 搜尋嗎?!
這種升級的問題, 一定也會有人碰到, 或許早就已經有解法
例如像這篇..

http://ubuntuforums.org/showthread.php?t=1126365 (http://ubuntuforums.org/showthread.php?t=1126365)

問題是樓主自己的, 自己要多花點心思去解啊, 加油!!  ;)