赞
踩
本文概览:同步线上数据库的数据表结构或者数据到测试环境数据库就是使用mysqldump来实现。mysqldump可以导出数据表结构和数据。
1 同步一个数据表
1.1 导出数据和表结构
1.导出脚本
在本地执行如下命令,从和线上一样的那个beta环境中导出指定表的sql。如下导出qadmin_resource表的数据。命令格式
mysqldump -u用户名 -p密码 -hIP地址 -P端口 --lock-tables=false 数据库名 表名> 导出的文件
1
mysqldump -u用户名 -p密码 -hIP地址 -P端口 --lock-tables=false 数据库名 表名>导出的文件
2.导入数据
在本地执行如下命令,指定导入到某一个库的表中
mysql --default-character-set=utf8mb4 -hIP -P端口号 -u用户名 -p密码
1
mysql--default-character-set=utf8mb4-hIP-P端口号 -u用户名-p密码
3.然后执行
source dump_source.sql
1
sourcedump_source.sql
1.2 只导出数据
1、-t 不导出数据表结构
mysqldump -u用户名 -p密码 -hIP地址 -P端口 --lock-tables=false -t 数据库名 表名> 导出的文件
1
mysqldump-u用户名-p密码-hIP地址-P端口--lock-tables=false-t数据库名表名>导出的文件
2、–wheree
--where="F_user_id=11 and F_state=8"
1
--where="F_user_id=11 and F_state=8"
3、limit和order
也通过–where来实现。如下
--where="1 order by id desc limit 2"
1
--where="1 order by id desc limit 2"
1.3 只导出表结构
1.导出脚本
如下命令,就是多了参数“-d”。
mysqldump -u用户名 -hIP -p密码 -P端口号 -d 数据库名 表名 > 导出文件;
1
mysqldump-u用户名 -hIP -p密码 -P端口号 -d 数据库名 表名 > 导出文件;
2 同步一个库数据
1.导出脚本
在本地执行如下命令
mysqldump --default-character-set=utf8mb4 -u用户名 -p密码 -hIP地址 -P端口 数据库名 > 导出的文件
1
mysqldump --default-character-set=utf8mb4 -u用户名 -p密码 -hIP地址 -P端口 数据库名 >导出的文件
3 相关参数
1.–ignore-table,
导出一个数据库中所有表结构,可能需要排除个别的表。
(1)举例,如下是导出dbName数据库中所有表结构,但是排除table1和table2。
mysqldump -h123.33.33.2 -uroot -proot -P8306 -d dbName --ignore-table=dbName.table1 --ignore-table=dbName.table2 >result.sql
1
mysqldump -h123.33.33.2 -uroot -proot-P8306-ddbName --ignore-table=dbName.table1 --ignore-table=dbName.table2 >result.sql
(2)–ignore-table的值的格式是
数据库名称.表名字
1
数据库名称.表名字
(3)多个排除表,此时就使用多个–ignore-table=xxx.tablen,如下
--ignore-table=dbName.table1 --ignore-table=dbName.table2
1
--ignore-table=dbName.table1 --ignore-table=dbName.table2
附
如果是导数据,则参考如下
(全文完)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。