• slider image 168
:::
條列式新聞
新聞載入中,請稍後...

3-5 資料庫格式升級轉換 5.0.x ---> 現在版本

資料庫格式升級轉換 5.0.x ---> 現在版本

安裝 automysqlbackup 出現 debian-sys-maint 無法存取的問題
原 因:新安裝系統後資料庫採 cp 方式,所以,原來的資料庫是 5.0.x 版的,而現在 5.1 以後的資料庫格式已經大改版,且5.1.x以後的資料庫會內建一個 debian-sys-maint 帳號,這個帳號 apache2 也會使用到,在開機過程會出現 apache2 無法以 debian-sys-maint 存取 mysql,所以我們以 cp 的方式搬移 資料庫,會沒有 debian-sys-maint 這個帳號。

1.準備:把 debian-sys-maint 帳號在新主機裡 mysql 資料庫裡的編碼記錄下來。

2.把舊主機裡的 /var/lib/mysql/sfs3 與 /var/lib/mysql/mysql 資料庫搬移過來(或乾脆直接把 /var/lib/mysql 整個搬過來)

3.以手動方式(phpMyAdmin)在搬移過來的 mysql 資料庫中建立一筆資料 localhost debian-sys-maint *C89FD59F51658F6DE9866A107FBF4F4326A0BE56
注意: *C89... 這一串數值是 debian-sys-maint 帳號在 mysql 資料庫裡的編碼記錄

4.資料庫格式轉換
 #‎mysql_upgrade‬ -u root -p
 這時會將5.0.x 的資料庫格式轉換為現在版本的資料庫格式

5.檢查後如果出現 sfs.art....(我的是有出現2個,經以 phpMyAdmin 查看後只有目錄,但沒有table資料,所以直接把這2個刪掉) 等資料表裡找不到, 所以直接把sfs3資料庫裡的這2個刪除

6.如果 /var/lib/mysql/底下的目錄名稱有自己 暫存的 (也就是自己隨便亂丟的),如 mysql.5.0.1 <---這種有小數點的,對 mysql 而言,這是不合法的。請變更為 mysql501 這種沒有小數點的或刪除掉(沒用到的話)

7.再重新轉換一次
mysql_upgrade -u root -p --force
這次沒有錯誤訊息--->成功

8.若有需要修復mysql 的話,請執行
mysqlcheck -p -A --auto-repair

9.~# apt-get install automysqlbackup --->正常,沒有錯誤訊息

10.~‪#‎automysqlbackup‬ --->正常,沒有錯誤訊息

 

 

1.這段步驟是升級mysql 時所用的(因為 mysql 的管理方式不同而產生的,早期的沒有這個帳號)
2.在剛安裝好的主機的 mysql 的 mysql.user 裡,先抄下來 這個帳號經過編碼的這一長串數字。
3.service mysql stop
4.剛安裝好的主機的 mysql 的 mysql.user 裡,先抄下來 這個帳號經過編碼的這一長串數字。
5.將新主機的 /var/lib/mysql 更名(以備萬一)
6.將舊的 /var/lib/mysql 搬過來
7.將 mysql 啟動。service mysql start

全面迎接 automysqlbackup 的備份方式
http://163.23.89.100/~chi/blog/index.php?load=read&id=301

 
彰化縣自由軟體工作日誌 - 歡迎您的參訪!本站將致力於推動Linux桌面在教育的應用。歡迎您加入推廣行列,一起在這個領域攜手奮鬥!
  • 資料庫還是要先stop嗎
     
  •  
    Chi Ming 紀 不用喔... 它也是用到mysqldump 所以不用停資料庫...停了就不能dump 了喔..
     
  • 徐瑛勵 安裝這個 automysqlbackup 後,最後一行出現了
    ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

     
     
     
    徐瑛勵 我 想問題應該在於 mysql 5.5 多了debian-sys-maint 這個帳戶,而我的 mysql 資料庫是直接整個目錄搬過來,使用 ACFS 光碟開機的可以把 mysql stop,start,restart 都正常,但改用 Debian 7.6.0 時把整個資料庫直接搬過來,這下卻無法讓 mysql stop, 連 kill 後,mysql 的執行緒 還會自己跑出來…
  •  
  •  
  •  

:::
展開 | 闔起

文章類別

書籍目錄

展開 | 闔起

線上使用者

12人線上 (12人在瀏覽線上書籍)

會員: 0

訪客: 12

更多…