MySQL不同數據庫之間表的簡單同步


MySQL不同數據庫之間表的簡單同步,實用輕量級數據
如下案列展示:
例如我現在主庫上面有users 、tenants兩張表需要同步到備庫上面
主庫
1、確認主庫數據條數

select count(*) from users
select count(*) from tenants

 2、將數據導出到文件,/data/目錄必須具有mysql對應的權限

select * into outfile '/data/users20180205.txt' from users;
select * into outfile '/data/tenants20180205.txt' from tenants;

備庫
將主庫導出的文件users20180205.txt、tenants20180205.txt上傳到備庫服務器上
1、確認備庫的數據條數

select count(*) from users
select count(*) from tenants

2、備份從庫上的數據,防止數據異常丟失,方便恢復

 mysqldump -t testdb  -u wagnchengliang  -ppassword --tables users tenants  >/home/wangchengliang/usersbak.sql
 mysqldump -t testdb  -u wagnchengliang  -ppassword --tables  tenants  >/home/wangchengliang/tenantsbak.sql

3、清空兩張表

 truncate users;
 truncate tenants

4、導入數據

load data infile /data/users20180205.txt' into table users;
load data infile /data/tenants20180205.txt' into table tenants ;

5、此時確認備庫與主庫的條數是否一致

select count(*) from users
select count(*) from tenants

如果需要定期備份,可以腳本化
附備份方法:
 1.導出指定表的數據
     mysqldump -t database -u username -ppassword --tables table_name1 table_name2 table_name3 >/home/wangchengliang
 2.導出指定表的結構
    mysqldump -d database -u username -ppassword --tables table_name1 table_name2 table_name3>/home/wangchengliang
 3.導出表的數據及結構
    mysqldump  database -u username -ppassword --tables table_name1 table_name2 table_name3>/home/wangchengliang
 4.若數據中,某些表除外,其余表都需導出
    mysqldump -h IP -u username -ppassword --default-character-set=utf8 --database database_name --ignore-table=database_name.table_name1
    --ignore-table=database_name.table_name2 --ignore-table=database_name.table_name3 >/home/wangchengliang


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM