mysql數據遷移

 本文總結各類場景下的數據複製、遷移、轉換。mysql

一、導入、導出linux

利用mysqldump命令將數據文件導出成一個文本文件,這在不一樣場景下具備更高的安全性。如:表引擎改變。sql

數據導出:mysqldump -uroot -p dbname  > dbname.sql (包含表結構和表數據)windows

數據導入:mysql -uroot -p dbname < dbname.sql安全

注意:導出的sql文件包含舊錶信息,請修改其中的create table語句。在create以前會有一個DROP table 操做。若是沒有注意到這點,原數據就會被刪除。這種狀況能夠用下列的sql操做:服務器

只導出:數據:mysqldump -uroot -p -t dbname > dbname.sql架構

只導出表結構:mysqldump -uroot -p -d dbname > dbname.sql運維

 

二、將一張表的數據轉換到另外一張表、而且更新表結構ide

a、如下sql適用於小量數據,速度快。網站

mysql>create table innodb_table like myisam_table;  mysql>alter table innodb_table engine=innodb; mysql>insert into innodb_table select * from myisam_table;

b、更高效的辦法是增量的填充表,在填充每一個增量數據塊時都提交事務,這樣就不會致使撤銷日誌過大,假設id是主鍵,能夠重複運行一下查詢(每次逐漸增大x和y值)直到全部數據都複製到新表。

mysql>start transaction; mysql>insert into innodb_table select * from myisam_table where id between x and y;  mysql>commit;

轉移操做完成後,源表仍會保留,能夠在完成操做後DROP它,注意:若有必要,在轉換時加鎖源表,防止在轉換時數據不一致。


博主仍從事運維行業,擁有10年+ 一線運維經驗,技術上靠得住(還行吧),生活不容易,純粹補貼家用,時間充裕,與有須要的朋友 互相幫助。

業務範圍:網站、服務器、系統(linux|windows)、架構、部署、調優、排錯、安全方案、低成本解決中小量攻雞、業務上雲(全部公有云)

合做形式:代維、兼職、臨時技術支持

合做理念:誠信第1、信任是基石、不解決問題不收錢、完工才收

職業操守:講誠信和毫不影響用戶數據安全,您信任後再合做

客戶監督:本博文評論一直開放,合做的朋友們可自由發表合做後對個人評價(壞朋友請放過我吧0_0)

聯繫方式:QQ:278566109

自評:個人技術不是很好也不是不好,自信能解決絕大多數問題。截止目前合做過的項目20個左右。相信合做後不會讓您失望。

鑑於運維的敏感性,信任是很重要的,有須要的朋友們能夠聯繫我,謝謝照顧與支持,感恩~~

相關文章
相關標籤/搜索