我的虛擬主機商通知我,明天要搬移到新主機,連同MYSQL要從原來的 4.0.x 升級為 4.1.x
沒碰過這種情形,想請問是不是虛擬主機搬移完,MYSQL升級後,要不要跑一遍update.php呢?
您在這裡
使用者登入
最新文章
回應
3 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
6 年 4 個月 之前
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
mysql 4.0-> 4.1升級,注意要mysqldump出來,到時再import進去
且語系碼要選擇對
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
了解!謝謝 :)
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
尷尬了!我不知道要選哪一個?
移到新的主機後
伺服器版本: 4.1.22-standard
# MySQL 文字編碼: UTF-8 Unicode (utf8)
# MySQL 連線校對: utf8_unicode_ci
請問語系碼要選哪一個呢?
Re:
我現在要 import 回去,語系碼,請問要選latain1嗎?
還有要先殺掉原來的資料庫嗎?
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
虛擬主機商的回覆:
結果他好像上傳了舊版的phpmyadmin,目前亂碼的問題就解決了。
謝謝大家囉:)
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
雖然解決了,我還是回應一下
較正確的作法其實是在import進去時無論連線校對還是字元編碼,都選unicode_general_ci
/************************************************
* 你的回饋,讓Drupal越來越茁壯 * Drupal社群越茁壯,你就越有力量 *
************************************************/
Re:
之前以為好了,是因為還指向舊的主機。所以是幻覺。
新主機還是亂碼。而且我查了一下資料才知道mysql 4.0-> 4.1問題大條了
以下是主機商的回覆:
主機商很友善。目前解決的方法,主機商幫我移到一個 mysql 4.0的主機
暫時就是維持之前的狀況
mysql 太複雜了,看半天,得找時間研究一下@@
Re:
mysql從4.0 => 4.1其實我做過n次drupal的升級從來沒問題
我猜你的問題在於你第一次從4.0 => 4.1的時候,沒有在4.1的那裡指定連線校對和表格的編碼
而在4.1之後正式run的時候,新增的資料又變成亂碼了
建議你發揮一下研究精神
你可以下載apperv裝在自己電腦中,現在大多是mysql 5.0,與4.1沒太多不同
在自己本機端匯入在主機商匯出4.0的sql檔有沒有問題
有問題的話,在phpmyadmin匯出sql檔時,記得把「SQL相容模式」選4.0
在匯進去時,記得把連線校對預設為unicode_general_ci
/************************************************
* 你的回饋,讓Drupal越來越茁壯 * Drupal社群越茁壯,你就越有力量 *
************************************************/
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
跟你混著貼文章沒有關係吧!
mysqldump 時有沒有指定 -default-character-set=latin1 ? 看你的描述,原本 MySQL 4.0應該是 latin1 編碼
可以用搜尋引擎找一下 MySQL 編碼或 MySQL升級的問題,網路上有很多討論跟心得。
--迎著風,線放鬆,風箏自然上天空--
Re:
謝謝你的回應!無奈,虛擬主機不支援SSH,不能使用「liaozI」,所提供的方法
我再找找看資料...看到一個Modules
http://drupal.org/project/backup
好像不太適合@@
Re:
假設原有的 MySQL 4.x.xx (latin1) 已升到 4.1.xx or 5.x.xx (utf8),如果之前沒在舊版的 phpmyadmin 先匯出,再倒入新版的話,失敗是可以預期的。
此時用 shell 登入主機,我再把上面的語法改進一下..
Step 1:
把 drupal 資料庫匯出 (這是在昇級後的資料庫中操作的)。
mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset drupal > drupal.sql
Step 2:
把匯出的資料庫數據中的字集設定,latin1 替換成 utf-8,另存為 drupal_utf.sql (保留舊的 drupal.sql,輸出新的 drupal_utf.sql,有備無患)。
sed -r 's/latin1/utf8/g' drupal.sql > drupal_utf.sql
Step 3:
砍掉舊的 drupal 資料庫,再建立一個以 utf8 字集和連線校對的新 drupal 資料庫。
mysql --user=username --password=password --execute="DROP DATABASE drupal; CREATE DATABASE drupal CHARACTER SET utf8 COLLATE utf8_general_ci;"
Step 4:
把處理好的 drupla_utf.sql 倒回新的 drupal 資料庫。
mysql --user=username --password=password --default-character-set=utf8 drupal < drupal_utf.sql
如此就擺脫亂碼的困擾,如果原有的字集是 big5, gb2312, bgk 要轉成 utf8,把上述 Step 2 中的 latin1 改一下也可以。
Re: MYSQL從原來的 4.0.x 升級為 4.1.x
謝謝各位的講解,我大概了解了:)