MySQL - Dump DB1 DataTable to DB2 DataTable

摘要:MySQL - Dump DB1 DataTable to DB2 DataTable

因為資料越來越多,則需要將資料表切割,

但切割後,資料表越來越多,但有很多是歷史資料,

我就想,把他切到database去。

 

因此,有了想將database1的dump出來,然後,再import到database2 ,再將database1的datatable刪除。

登入mysql

mysql -u root -p (接著會叫你輸入密碼,然後輸入密碼後,進入mysql操作指令畫面)

首先先建立database2

create database if not exists database2;

檢查是否有建立database2

show databases

接著離開mysql,將database1的資料dump出來

mysqldump -u root -p database1 datatable_name> /var/dump/datatable_name.sql(接著會叫你輸入密碼,然後輸入密碼後,進入mysql操作指令畫面)

再將datatable_name.sql匯入

mysql -u root -p database2 < var/dump/datatable_name.sql(接著會叫你輸入密碼,然後輸入密碼後,進入mysql操作指令畫面)
 

查看,是否有正確執行,登入mysql

mysql -u root -p (接著會叫你輸入密碼,然後輸入密碼後,進入mysql操作指令畫面)

show tables;

設定database2的權限給user

GRANT ALL PRIVILEGES ON `database2` . * TO 'user_name'@'host_ip' WITH GRANT OPTION ;

 

若要多筆資料dump的話,則執行

mysqldump -u root -p database1 datatable_name1 database_name2> /var/dump/dump_YYYYMMDD.sql(接著會叫你輸入密碼,然後輸入密碼後,進入mysql操作指令畫面)

可直接連密碼,就不必輸入密碼 (-p之後,追加abcd1234)

mysqldump -u root -pabcd1234 database1 datatable_name1 database_name2> /var/dump/dump_YYYYMMDD.sql