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怎样导出一个库的多个表的主要内容,如果未能解决你的问题,请参考以下文章

mysql 怎样导出一个表的结构和数据

mysql怎样导出表(表结构+数据)

mysqldump及问题集合

怎样将MySQL数据库结构和数据导出或导入

mysql导出和导入数据

mysql导出和导入数据