mysql php 迁移_MySQL数据复制、迁移、转换
本文總結(jié)各種場景下的mysql數(shù)據(jù)復(fù)制、遷移、轉(zhuǎn)換。1、導(dǎo)入、導(dǎo)出利用mysqldump命令將數(shù)據(jù)文件導(dǎo)出成一個(gè)文本文件,這在不同場景下
本文總結(jié)各種場景下的mysql數(shù)據(jù)復(fù)制、遷移、轉(zhuǎn)換。
1、導(dǎo)入、導(dǎo)出
利用mysqldump命令將數(shù)據(jù)文件導(dǎo)出成一個(gè)文本文件,這在不同場景下具有更高的安全性。如:表引擎改變。
數(shù)據(jù)導(dǎo)出:mysqldump -uroot -p dbname > dbname.sql (包含表結(jié)構(gòu)和表數(shù)據(jù))
數(shù)據(jù)導(dǎo)入:mysql -uroot -p dbname < dbname.sql
注意:導(dǎo)出的sql文件包含舊表信息,,請修改其中的create table語句。在create之前會有一個(gè)DROP table 操作。如果沒有注意到這點(diǎn),原數(shù)據(jù)就會被刪除。這種情況可以用下列的sql操作:
只導(dǎo)出:數(shù)據(jù):mysqldump -uroot -p -t dbname > dbname.sql
只導(dǎo)出表結(jié)構(gòu):mysqldump -uroot -p -d dbname > dbname.sql
2、將一張表的數(shù)據(jù)轉(zhuǎn)換到另一張表、并且更新表結(jié)構(gòu)
a、以下sql適用于小量數(shù)據(jù),速度快。
b、更高效的辦法是增量的填充表,在填充每個(gè)增量數(shù)據(jù)塊時(shí)都提交事務(wù),這樣就不會導(dǎo)致撤銷日志過大,假設(shè)id是主鍵,可以重復(fù)運(yùn)行一下查詢(每次逐漸增大x和y值)直到所有數(shù)據(jù)都復(fù)制到新表。
mysql>commit;
轉(zhuǎn)移操作完成后,源表仍會保留,可以在完成操作后DROP它,注意:如有必要,在轉(zhuǎn)換時(shí)加鎖源表,防止在轉(zhuǎn)換時(shí)數(shù)據(jù)不一致。
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的mysql php 迁移_MySQL数据复制、迁移、转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公交车挡红绿灯问题解决了 重庆公交车配了
- 下一篇: mysql run sql files_