作者 主題: [Help]MySQL 3.x 升級 ?  (閱讀 10214 次)

0 會員 與 1 訪客 正在閱讀本文。

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
[Help]MySQL 3.x 升級 ?
« 於: 2010-08-19 15:25 »
Hi all,

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

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

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

這怎升級... ?

Thanx.

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #1 於: 2010-08-19 16:21 »
Hi all,

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

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

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

這怎升級... ?

Thanx.

將資料全部倒出來(mysqldump)
直接灌新版的mysql, 然後再將資料灌回去
這樣就沒有版本升級的問題了  :D

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #2 於: 2010-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

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #3 於: 2010-08-19 17:51 »
那錯誤寫什麼?用編輯器修改過後吃得進去嗎?
lifeIsFunWithPHP.

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #4 於: 2010-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

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #5 於: 2010-08-19 22:24 »
我有看懂,你有嗎?就差一步。
lifeIsFunWithPHP.

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #6 於: 2010-08-19 22:25 »
我有看懂,你有嗎?就差一步。

版本不符!

gwstudy

  • 活潑的大學生
  • ***
  • 文章數: 205
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #7 於: 2010-08-19 22:57 »
版本不符!

會有錯誤當然是版本不符,但那句不是說版本不符。

jlovet

  • 憂鬱的高中生
  • ***
  • 文章數: 126
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #8 於: 2010-08-19 22:57 »
ftp://mysql.cdpa.nsysu.edu.tw:/Unix/Database/MySQL/Downloads/MySQL-4.1
這裡還可以找到舊版的。

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

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #9 於: 2010-08-19 23:41 »
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.
« 上次編輯: 2010-08-20 00:00 由 unitcell »

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #10 於: 2010-08-20 09:09 »
用 mysql administrator 連進去 3.x 備份出來..再倒到 5.x

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #11 於: 2010-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.

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #12 於: 2010-08-20 10:55 »
如果是 MyISAM 格式 (3.x 應該都是用這個吧?), 直接把那些檔案拿來用也是可以.

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #13 於: 2010-08-20 11:14 »
如果是 MyISAM 格式 (3.x 應該都是用這個吧?), 直接把那些檔案拿來用也是可以.

是MyISAM.

直接拿來用, 的意思是?

mysql -u root -p xxx < xxx.sql 嗎? 若是就會出現如上的error.
« 上次編輯: 2010-08-20 11:37 由 unitcell »

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #14 於: 2010-08-20 11:16 »
還是哪位大大有 mysql-4.0.x...tgz的檔, 提供一下.
感恩!

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #15 於: 2010-08-20 11:48 »
直接把那些檔案放到新版本的資料庫目錄下就可以用了. 不用 dump 也不需要 restore.

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

unitcell

  • 活潑的大學生
  • ***
  • 文章數: 411
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #16 於: 2010-08-20 14:17 »
直接把那些檔案放到新版本的資料庫目錄下就可以用了. 不用 dump 也不需要 restore.

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

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

所有表格,要調出內容皆出現同樣錯誤.
« 上次編輯: 2010-08-20 17:23 由 unitcell »

kknrs29423

  • 懷疑的國中生
  • **
  • 文章數: 58
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #17 於: 2010-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

rainday

  • 鑽研的研究生
  • *****
  • 文章數: 738
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #18 於: 2010-08-21 01:50 »
不同版本用dump的方式,有遇到的大概只有新版本,有新的保留字,有些欄位名就要用``括起來,及一些指令語法的修正
應該沒有太大的問題
照著restore還原回去的error訊息,修正即可
<0  =_=  Don't learn to hack , hack to learn.

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: [Help]MySQL 3.x 升級 ?
« 回覆 #19 於: 2010-08-22 06:47 »
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

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