解決MYSQL數據從高版本導入低版本的問題(轉)
mysql
近日筆者工做中遇到MYSQL數據從高版本導入低版本的問題.這樣的問題通常都是高低版本字符集的設置不一樣.按照以往慣例是把數據用mysqldump命令導出數據後,使用文件編輯器(editplus)修改相應的"DEFAULT CHARSET=gb2312"部分,便可順利導入低版本的MySQL.但當你遇到大量數據(百萬級)時,這種方式就顯示得杯水車薪了!那麼麼辦呢?現本人就把本身工做中遇到有關MYSQL數據從高版本導入低版本的解決辦法總結一下.
方法一:(適用於當導出的數據量不大時)
step 1:使用mysqldump命令從源服務器導出成SQL文本
mysqldump -hsrc_dbserver -uroot -p testdb > testdb.sql
step 2:使用文本編輯器如:editplus,打開testdb.sql,打到須要修改的內容,如:DEFAULT CHARSET=gb2312,修改爲與目標服務器相對應的字符集.保存.
step 3:使用mysql命令將改好後的SQL文本導入目標服務器.OK!
mysql -hdest_dbserver -uroot -p testdb < testdb.sql
方法二:(適用於當導出的數據量很大時,如萬級,百萬級數據)
step 1:在mysql命令模式下,使用show variables 命令查看一下目標服務器的字符集設置狀況和MYSQL版本
step 2:使用以下命令:
mysqldump --compatible=mysql323 -hsrc_dbserver -uroot -p --default-character-set=latin1 testdb > testdb.sql
其中,--compatible=mysql323 是指目標服務器的版本,--default-character-set=latin1 是指目標服務器的字符集設置
step 3:使用mysql命令將導出的SQL文本導入目標服務器.OK!大功告成!
mysql -hdest_dbserver -uroot -p testdb < testdb.sqlsql