美文网首页
MySQL 库表导出导入

MySQL 库表导出导入

作者: cli1871 | 来源:发表于2019-04-11 18:14 被阅读0次

1 MySQL 库表导出

1.1 包含数据

1.1.1 导出整个数据库结构和数据

mysqldump -h localhost -uroot -p123456 -P 3306 database > dump.sql

1.1.2 导出单个数据表结构和数据

mysqldump -h localhost -uroot -p123456 -P 3306  database table > dump.sql

1.1.3 常用的导出多个数据库

mysqldump -hxxx -P3306 -uxxx -pxxx --quick --single-transaction --set-gtid-purged=OFF --databases db1 db2  > ss_db1db2.sql

如果数据库data size过多,导出时间长,那么终端有可能中断而导致导出过程中断,我们选用后台运行的方式导出。

nohup mysqldump -hxxx -P3306 -uxxx -pxxx --quick --single-transaction --set-gtid-purged=OFF --databases db1 db2  > ss_db1db2.sql &

这种方式是有问题的,第一行会出现类似Warning: Using a password on the command line interface can be insecure.导致不能正确导入,数据量过大,用vim将会可能是文件截取,possible option is 

用sed 去除第一行。

基于此,用参数方式--result-file将会避免这种错误,比较实用的解决办法。

mysqldump -hxxx -P3306 -uxxx -pxxx --quick --single-transaction --set-gtid-purged=OFF --databases db1 db2  --result-file=ss_db1db2.sql

1.1.4 导出策略

mysqldump期间,不可避免的对mysql 这台实例有这性能影响,这种case下,我们一般选择负责极轻的mysql slave 实例或者为了dump,我们为dump搞一个专门用于dump mysql slave实例

1.2 不包含数据

1.2.1 导出整个数据库结构(不包含数据)

mysqldump -h localhost -uroot -p123456 -P 3306 -d database > dump.sql

1.2.2 导出单个数据表结构(不包含数据)

mysqldump -h localhost -uroot -p123456 -P 3306 -d database table > dump.sql

1.3  导出option - -column-statistics

错误提示:

  mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLUMN_STATISTICS

原因:

因为新版的mysqldump默认启用了一个新标志,通过- -column-statistics=0来禁用他

解决方法:

  mysqldump --column-statistics=0 -h 127.0.0.1 -uroot -proot  -P 3306 -d test > dumptestdb.sql

2 MySQL 库表导入

导入库表前,首先要创建空目标数据库

2.1 创建空数据库

Only take test for example.

CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

2.2  库表导入

2.2.1 用mysql命令行

mysql -h localhost -uroot -p123456 -P 3306 test <dump.sql

2.2.2 source sql

进入数据库:

mysql -h localhost -uroot -p123456 -P 3306

选择数据库:

mysql>use test;

mysql> source dump.sql;

2.2.3直接拷贝

如果数据库比较大,可以考虑直接拷贝,但不同版本及操作系统间可能不兼容,慎用。

1.用tar包打包为一个文件mydb.tar.gz

2.在临时目录中解压

cp mydb.tar.gz /tmp

cd /tmp

tar zxf mydb.tar.gz

3. 拷贝

将解压后文件拷贝到相关目录

cp /tmp/mydb/* /var/lib/mysql/mydb

系统不同,路径可能不同

相关文章

  • aliyun.CentOS7.MySQL操作.2017-09-2

    初始化MySQL数据库 MySQL数据导入导出查看MySQL数据库的命令 MySQL数据导出到表 MySql数据库...

  • MySQL的数据导入导出

    MySQL数据库的导入导出 导出 导出数据库 导出数据 导出单表数据 导出单表数据结构 操作数据库 导出整个数据库...

  • MySQL 命令笔记

    一. 导入导出文件 1.导出整个数据库 2. 导出一个表 3. 导入数据库 常用source 命令,进入mysql...

  • MySQL导入导出一个、多个、全部数据库,一张、多张表

    导出 导出一个数据库 导出多个数据库 导出全部数据库 导出一张表 导出多张表 导入 导入一个数据库 导入多个数据库...

  • mysql笔记

    mysql 常用命令 mysql 导出数据库: mysql 清空缓存 mysql导入导出数据库 windows下 ...

  • MySQL 库表导出导入

    1 MySQL 库表导出 1.1 包含数据 1.1.1 导出整个数据库结构和数据 mysqldump -h loc...

  • MySQL 终端命令

    导出整个数据库 导出一个表 导出一个数据库结构 导入数据库 A: 常用source 命令进入mysql数据库控制台...

  • 导入导出Mysql数据库、表结构、表数据

    由sql文件导入 mysql -uusername -ppwd < ./abc.sql 导出整个数据库的表结构 m...

  • MySQL 运维常用

    1.导出整个数据库 2.导出一个表 3.导出一个数据库结构 4.导入数据库 启动与退出 1、进入MySQL:启动M...

  • MySQL日常管理(搬运整理)

    新建用户 为用户授权 导入导出 导出 导出全库备份到本地的目录 导出指定库到本地的目录(例如mysql库) 导出某...

网友评论

      本文标题:MySQL 库表导出导入

      本文链接:https://www.haomeiwen.com/subject/murxwqtx.html