mysqldump怎样导出一个库的多个表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysqldump怎样导出一个库的多个表相关的知识,希望对你有一定的参考价值。
参考技术A 一般默认的时候都是锁表的,如果你想不锁表导出可以加上--single-transaction就可以不锁表进行导出,示例:
mysqldump -h 127.0.0.1 -u username -ppassword --single-transaction dbname tablename>name.sql
mysql导出和导入数据
#导出库的结构和数据
mysqldump -uroot -p -h192.168.33.12 -P3306 -c --skip-add-locks database > /home/database.sql
#导出库的数据
mysqldump -uroot -p -h192.168.33.12 -P3306 -t database > /home/database .sql
#导出表
mysqldump -uroot -p -h192.168.33.12 -P3306 -t database table> /home/database .sql
#导出表结构
mysqldump -uroot -p -h192.168.33.12 -P3306 -d database> /home/database.sql
#导入数据
mysql -uroot -p -h192.168.33.12 -P3306 database< /home/database.sql
用dump导出的sql文件里面,会有一个设置时区的命令
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
从mysql导出,再导入mysql,没有任何问题。但是,从mysql导出,再通过mycat导入,就会出现,timestamp时间戳类型的字段会出现比原始时间少8小时。这是因为,导出生成的sql文件已经少了8个小时,mysql可以执行上面设置时区的命令。而通过mycat执行的时候,这个命令被认为是注解,将不执行,就会导致时间有差值了。
我们可以在导出的时候,就让其忽略时区。
忽略时区的导出命令
mysqldump -uroot -p -h192.168.33.12 -P3306 -c --skip-add-locks --skip-tz-utc database> /home/database.sql
以上是关于mysqldump怎样导出一个库的多个表的主要内容,如果未能解决你的问题,请参考以下文章