mysql同步

Mysql在进行数据库、表同步时,可以先将库、表使用mysqldump命令进行备份,然后将备份的sql在新的数据库导入,即完成数据同步。

一、备份

1、备份命令

格式:mysqldump -h 主机名 -P 端口 -u 用户名 - p 密码 --database 数据库名 > 文件名.sql

例如: mysqldump -h 192.168.1.100 -P 3306 -u root -p password --database cmdb > /data/backup/cmdb.sql

2、备份压缩

如果导出的数据有可能比较大,不好备份到远程,这时候就需要进行压缩

格式:mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 --database 数据库名 | gzip > 文件名.sql.gz

例如: mysqldump -h 192.168.1.100 -P 3306 -u root -p password --database cmdb | gzip > /data/backup/cmdb.sql.gz

3、备份同个库多个表

格式:mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 --database 数据库名 表1 表2 … > 文件名.sql

例如 mysqldump -h 192.168.1.100 -P 3306 -u root -p password cmdb t1 t2 > /data/backup/cmdb_t1_t2.sql

4、同时备份多个库

格式:mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 --databases 数据库名1 数据库名2 数据库名3 > 文件名.sql

例如:mysqldump -h 192.168.1.100 -P 3306 -u root -p password --databases cmdb bbs blog > /data/backup/mutil_db.sql

5、备份实例上所有的数据库

格式:mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 --all-databases > 文件名.sql

例如:mysqldump -h 192.168.1.100 -P 3306 -u root -p password --all-databases > /data/backup/all_db.sql

6、备份数据库结构,不备份数据

格式:mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 --no-data 数据库名1 数据库名2 数据库名3 > 文件名.sql
或者
格式:mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 -d 数据库名1 数据库名2 数据库名3 > 文件名.sql

例如:mysqldump -h 192.168.1.100 -P 3306 -u root -p password --no-data –databases db1 db2 cmdb > /data/backup/structure.sql

mysqldump -h 192.168.1.100 -P 3306 -u root -p password -d –databases db1 db2 cmdb > /data/backup/structure.sql

备注
1: --no-data 或者-d,有此参数表示只备份表结构,没有此参数表示备份表结构和数据
2:若mysqldump命令没有添加环境变量,则命令需要带上mysqldump命令路径

二、同步

mysql -h 主机名 -P 端口 -u 用户名-p 密码 < 文件名.sql

备注:若mysql命令没有添加环境变量,则命令需要带上mysql命令路径

猜你喜欢

转载自blog.csdn.net/baidu_24752135/article/details/107848360