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

posted @ 2018-02-07 15:12  wclwcw  阅读(10663)  评论(0编辑  收藏  举报