当前位置:   article > 正文

mysqldump介绍及使用_mysqldump 表

mysqldump 表

1 概述

mysqldump 是 MySQL 自带的逻辑备份工具。

它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。

2 使用方法

2.1 命令格式

mysqldump [选项] 数据库名 [表名] > 脚本名

mysqldump [选项] --数据库名 [选项 表名] > 脚本名

mysqldump [选项] --all-databases [选项]  > 脚本名

 2.2 选项说明

参数名缩写含义
--host-h服务器IP地址
--port-P服务器端口号
--user-uMySQL 用户名
--pasword-pMySQL 密码
--databases指定要备份的数据库
--all-databases备份mysql服务器上的所有数据库
--compact压缩模式,产生更少的输出
--comments添加注释信息
--complete-insert输出完成的插入语句
--lock-tables备份前,锁定所有数据库表
--no-create-db/--no-create-info禁止生成创建数据库语句
--force当出现错误时仍然继续备份操作
--default-character-set指定默认字符集
--add-locks备份数据库表时锁定数据库表

3 导出

3.1 db级别

3.1.1 导出所有db结构和数据

mysqldump -uroot -p -A > /data/bak/all.sql

3.1.2 仅导出所有db结构

mysqldump -uroot -p -A -d > /data/bak/all_struct.sql

3.1.3 仅导出所有db数据不导表结构

mysqldump -uroot -p -A -t > /data/bak/all_data.sql

3.1.4 导出单个db结构和数据

mysqldump -uroot -p mydb > /data/bak/mydb.sql

3.1.5 仅导出单个db结构

mysqldump -uroot -p mydb -d > /data/bak/mydb.sql

3.1.6 仅导出单个db数据

mysqldump -uroot -p mydb -t > /data/bak/mydb.sql

3.1.7 导出多个db结构和数据

--databases参数,数据,结构单独导出方法同上。

mysqldump -uroot -p --databases db1 db2 > /data/bak/muldbs.sql

3.2 表级别

参数-d表示只到处表结构,不导数据。 

3.2.1 导出一个库中的所有表结构 

mysqldump -h localhost -u root -p -d db_name > db_name.sql 

3.2.2 导出一个库中的一张或多张表的表结构

  1. mysqldump -h localhost -u root -p pwd -d db_name user> user.sql
  2. mysqldump -ulocalhost -uroot -p dbpasswd -d db_name test1 test2 test3 > db.sql;

3.2.3 导出多个库的所有表结构

mysqldump -h localhost -u root -p -d --databases dbname1 dbname2 > db_name.sql

3.2.4 导出所有的数据库表结构

mysqldump -h localhost -u root -p -d --all-databases > all_db.sql 

3.2.5 备份指定数据库排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db

3.3 压缩备份

mysqldump -h localhost -u root -p dbname | gzip > db_name.sql.gz 

3.4 定时备份数据库任务

0 0 1 * * /usr/bin/mysqldump --defaults-extra-file=/root/.my.cnf --user=root db_name > /root/dump-$(date +"%Y%m%d").sql

3.5 导入数据

在导入备份数据库前,db_name如果没有,是需要创建的; 而且与db_name.db中数据库名是一样的才可以导入。

3.5.1 导入恢复数据库(系统行命令)

mysql -u user_name -p db_name < dump-backup.sql

3.5.2 导入恢复数据库(soure 方法)

  1. mysql > use db_name
  2. mysql > source /backup/mysqldump/db_name.db

3.5.3 导入单个数据库

3.5.3.1 mysql命令行:
  1. mysql>use mydb
  2. mysql>source /data/bak/mydb.sql
3.5.3.2 系统命令行:
mysql -uroot -p123456 mydb < /data/bak/mydb.sql

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/88284
推荐阅读
相关标签
  

闽ICP备14008679号