[分享]轉移系統後,資料庫異常?

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

[分享]轉移系統後,資料庫異常?

文章小狐狸 » 週五 8月 27, 2004 2:51 pm

事情是這樣的:
本來 server 上硬碟是 2G(這裡稱之為 a 硬碟,接下來會成為 hdc )
    hda1 /
    hda2 /swap
    hda3 /home
因為發現太小,想轉到另一顆 10 G 的硬碟上(這裡稱之為 b 硬碟),分割方式如下
    hda1 /
    hda2 /var
    hda3 /home
    hda5 /tmp
    hda6 /swap
接下來是我所做的事:
    1.用 debian 3.02 開機,開一個 shell

    2.mkdir 下列目錄 ( /mnt/hda1,/mnt/hda2,/mnt/hda3,/mnt/hda5,/mnt/hda6
    ,/mnt/hdc1,/mnt/hdc3, )

    3.依磁碟名稱各個掛上

    4.cp -a /mnt/hdc1/* /mnt/hda1/ ; cp -a /mnt/hdc3/* /mnt/hda3/ ; mv /mnt/hda1/var/* /mnt/hda2/
做了這些事後,資料庫就異常了! :crying:

我這樣的轉移過程有錯嗎?還是其實這種做法是不好的?

PS.
    我有試過只把 b 硬碟分成
    hda1 /
    hda2 /swap
    hda3 /home

    作相同的事,結果卻很正常?所以我覺得可能是,/var 這個目錄的問題!


有人有這樣轉移系統的經驗嗎?
分享一下吧 :finger1:
先謝囉!
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

re:[分享]轉移系統後,資料庫異常?

文章phantom » 週五 8月 27, 2004 3:46 pm

cp -a /mnt/hdc1/* /mnt/hda1/ 沒有包含 /proc 吧?
我先前有做過類似的步驟.
小弟覺得不會是 /var 的問題. 不過我也可能有誤.

當時跑 RH 6.0 還是 5.2... 不記得.
我是一個一個 dir ( "/" 下的) 慢慢 copy
跳過 /proc, 其他好像都 copy到新的 partition.
modify files like lilo or grub, and fstab... 大概就這樣吧

您所謂的資料庫是??? 不太瞭解...
頭像
phantom
活潑的高中生
活潑的高中生
 
文章: 306
註冊時間: 週三 8月 18, 2004 10:23 am

re:[分享]轉移系統後,資料庫異常?

文章小狐狸 » 週五 8月 27, 2004 4:07 pm

phantom 寫:cp -a /mnt/hdc1/* /mnt/hda1/ 沒有包含 /proc 吧?
我先前有做過類似的步驟.
小弟覺得不會是 /var 的問題. 不過我也可能有誤.


可是,我有試過只把 b 硬碟分成

hda1 /
hda2 /swap
hda3 /home

作相同的事,結果卻很正常

當時跑 RH 6.0 還是 5.2... 不記得.
我是一個一個 dir ( "/" 下的) 慢慢 copy
跳過 /proc, 其他好像都 copy到新的 partition.
modify files like lilo or grub, and fstab... 大概就這樣吧

您所謂的資料庫是??? 不太瞭解...


資料庫是 mysql , 這是一台 LAMP

謝謝你的回應囉!
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

re:[分享]轉移系統後,資料庫異常?

文章phantom » 週五 8月 27, 2004 4:43 pm

先前也有用類似的架構, 似乎沒有這問題.

是否只有 mysql 的 data 有問題?
if so, 我建議在舊的架構下將 mysql 的 data 輸出.
再到新的架構下把 mysql 的 data 全部清除再用先前輸出的 data 輸入回去.

如此可能可以解決您的問題. 只是問題的徵結還是不知為何.

希望有所幫助.
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower
圖檔
頭像
phantom
活潑的高中生
活潑的高中生
 
文章: 306
註冊時間: 週三 8月 18, 2004 10:23 am

re:[分享]轉移系統後,資料庫異常?

文章damon » 週五 8月 27, 2004 5:16 pm

基本上呢,我不會這樣移轉
我會這樣做
mysqldump把所有資料先匯出,在把mysqld停掉
把mysqldb的目錄用tar壓縮起來
裝好新系統在裝好mysql server
把mysqldb解壓縮回去
重跑mysqld
damon
活潑的高中生
活潑的高中生
 
文章: 358
註冊時間: 週二 9月 10, 2002 5:42 pm

re:[分享]轉移系統後,資料庫異常?

文章小狐狸 » 週五 8月 27, 2004 6:07 pm

damon 寫:基本上呢,我不會這樣移轉
我會這樣做
mysqldump把所有資料先匯出,在把mysqld停掉
把mysqldb的目錄用tar壓縮起來
裝好新系統在裝好mysql server
把mysqldb解壓縮回去
重跑mysqld


我有個疑問呢!既然"mysqldump把所有資料先匯出"為甚麼還要"把mysqld停掉把mysqldb的目錄用tar壓縮起來"
:ooops:
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

Re: [分享]轉移系統後,資料庫異常?

文章weily » 週五 8月 27, 2004 6:11 pm

小狐狸 寫:事情是這樣的:
4.cp -a /mnt/hdc1/* /mnt/hda1/ ; cp -a /mnt/hdc3/* /mnt/hda3/ ; mv /mnt/hda1/var/* /mnt/hda2/
[/list]
做了這些事後,資料庫就異常了! :crying:

作相同的事,結果卻很正常?所以我覺得可能是,/var 這個目錄的問題![/list]

有人有這樣轉移系統的經驗嗎?
分享一下吧 :finger1:
先謝囉!


mysql 的資料庫存放於 /var/lib/mysql
確定一下這個目錄是否有正確的複製過去,以及確定該目錄的 owner 是不是 mysql。(複製前最好把 mysql server 停掉比較安全)

小弟之前由於 /var 割的太小,所以把這個目錄複製到另一個分割區後在 soft link 回來,不過這是在 mysql server 版本相同的情況下,如果萬一不同版本的 mysql server 存放資料的方式不同的話,只好乖乖用 mysqldump 囉...

不過以 b case 會成功的情況下,mysql server 存放資料的方式不同的機率就小多了。
weily
可愛的小學生
可愛的小學生
 
文章: 7
註冊時間: 週三 5月 12, 2004 4:54 pm

re:[分享]轉移系統後,資料庫異常?

文章damon » 週五 8月 27, 2004 9:10 pm

小狐狸 寫:
damon 寫:基本上呢,我不會這樣移轉
我會這樣做
mysqldump把所有資料先匯出,在把mysqld停掉
把mysqldb的目錄用tar壓縮起來
裝好新系統在裝好mysql server
把mysqldb解壓縮回去
重跑mysqld


我有個疑問呢!既然"mysqldump把所有資料先匯出"為甚麼還要"把mysqld停掉把mysqldb的目錄用tar壓縮起來"
:ooops:


用不同的方式作兩份備份,以防萬一
damon
活潑的高中生
活潑的高中生
 
文章: 358
註冊時間: 週二 9月 10, 2002 5:42 pm

re:[分享]轉移系統後,資料庫異常?

文章redjoe » 週六 8月 28, 2004 9:45 am

用tar,會把各相對的權限都還原回去..
tar:
代碼: 選擇全部
tar -zcf bin.gtz         bin/       
tar -zcf boot.gtz        boot/       
tar -zcf dev.gtz         dev/       
tar -zcf etc.gtz         etc/       
tar -zcf home.gtz        home/       
tar -zcf initrd.gtz      initrd/     
tar -zcf lib.gtz         lib/       
tar -zcf mnt.gtz         mnt/       
tar -zcf opt.gtz         opt/       
tar -zcf proc.gtz        proc/       
tar -zcf root.gtz        root/       
tar -zcf sbin.gtz        sbin/       
tar -zcf tmp.gtz         tmp/       
tar -zcf usr.gtz         usr/       
tar -zcf var.gtz         var/       
tar -zcf vmlinuz.gtz     vmlinuz@/


untar 解開
代碼: 選擇全部
tar -zxf  bin.gtz
..
redjoe
快樂的大學生
快樂的大學生
 
文章: 518
註冊時間: 週一 4月 07, 2003 10:15 pm
來自: Taiwan

re:[分享]轉移系統後,資料庫異常?

文章phantom » 週日 8月 29, 2004 12:14 am

cp -a 同樣的也會保留原有的權限呀, 不是嗎?
Linux 非萬能, 沒 Linux 萬萬不能.
root = God
apt-get install ultimate-horsepower
圖檔
頭像
phantom
活潑的高中生
活潑的高中生
 
文章: 306
註冊時間: 週三 8月 18, 2004 10:23 am

re:[分享]轉移系統後,資料庫異常?

文章redjoe » 週日 8月 29, 2004 2:40 am

那些link ?
是相對位置,還是絶對位置?
redjoe
快樂的大學生
快樂的大學生
 
文章: 518
註冊時間: 週一 4月 07, 2003 10:15 pm
來自: Taiwan

re:[分享]轉移系統後,資料庫異常?

文章d2207197 » 週日 8月 29, 2004 11:32 am

phantom 寫:cp -a 同樣的也會保留原有的權限呀, 不是嗎?

palatis 兄說 tar 比 cp 還來得快
是 block to block 的方式複製
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:[分享]轉移系統後,資料庫異常?

文章阿信 » 週日 8月 29, 2004 4:16 pm

cp 的速度會仰賴於檔案系統的結構
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:[分享]轉移系統後,資料庫異常?

文章小狐狸 » 週一 8月 30, 2004 9:10 pm

我覺得很奇怪,我重新安裝myql後,再放回去又正常了說?

移除後要做
代碼: 選擇全部
rm -fr /var/log/mysql /var/run/mysqld /var/lib/mysql /etc/logcheck/ignore.d.server /etc/logcheck/ignore.d.workstation /etc/logcheck /var/lib/mysql

才能安裝成功說?不知道為什麼?

我現在覺得mysql用cp備份很不保險呢! :shock:
自由是 狐狸 的 天性 !
圖檔圖檔我的小站
圖檔圖檔
頭像
小狐狸
版主
版主
 
文章: 541
註冊時間: 週四 4月 17, 2003 10:21 pm

re:[分享]轉移系統後,資料庫異常?

文章damon » 週二 8月 31, 2004 10:32 am

官方建議用mysqldump,不過我試過也是有無法還原的狀況,尤其是資料有 , \ / 這類的字元的時候
tar起來是目前我用過比較保險的方式
damon
活潑的高中生
活潑的高中生
 
文章: 358
註冊時間: 週二 9月 10, 2002 5:42 pm

下一頁

回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron