mysql dump_mysqldump5.7

本文详细介绍了mysqldump命令的使用,包括备份全部数据库、指定数据库和表,以及优化选项、事务处理和远程备份。掌握这些技巧,轻松管理MySQL数据库的存储备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

mysqldump是官方自带的文本格式备份工具,简单实用,一般在Mysql安装目录的bin目录下。备份文件默认是SQL格式,它由一系列语句例如CREATE TABLE、INSERT等组成。mysqldump备份文件可以利用mysql程序重新加载到数据库里。

备份

基本参数

-h:要备份的数据库所在的主机ip或主机名

-p:端口,默认是3306

-u:登录的用户名

-p:表示需要输入用户密码才能登录

--all-database:备份此主机上的所有数据库

--databases:备份一到多个数据库

--tables:指定某些表

--no-data:不备份数据

--no-create-info:仅备份数据

>:重定向符号

--default-character-set:指定备份文件的编码

-V:版本信息

全部数据库

mysqldump --all-databases -h 127.0.0.1 -u root -p --default-character-set UTF8 >all_databases.sql

此命令将备份全部数据库,备份文件中会有CREATE DATABASE xx IF NOT EXISTS和USE xx语句。

指定数据库

mysqldump --databases db1 db2 -h 127.0.0.1 -u root -p --default-character-set UTF8 >databases.sql

此命令将备份db1和db2两个数据库,备份文件中会有CREATE DATABASE xx IF NOT EXISTS和USE xx语句。

指定表

mysqldump --databases db1 --tables tb1 -h 127.0.0.1 -u root -p --default-character-set UTF8 >tables.sql

此命令将备份数据库db1的tb1表,备份文件中不会有CREATE DATABASE xx IF NOT EXISTS和USE xx语句,而只会有DROP TABLE IF EXISTS xx和CREATE TABLE xx语句。且此命令不能同时指定多个数据的多个表。

优化

--opt:相当于 --add-drop-table、--add-locks、--create-options、--quick、--extended-insert、--lock-tables,、--set-charset、--disable-keys

--skip-opt:关闭--opt

--add-drop-table:备份文件中,CREATE TABLE xx前会加上DROP TABLE IF EXISTS xx

--add-locks:备份文件中,INSERT语句前后加LOCK TABLES xx WRITE和UNLOCK TABLES

--create-options:备份文件中,包括所有MySQL特定的创建选项

--quick:不缓冲查询,直接备份到标准输出

--extended-insert:备份文件中,生成一次插入多条数据行的INSERT语句,一条INSERT语句包含多个VALUES,虽然降低了可读性,但是恢复时加快了加载速度且减少空间占用

-lock-tables:备份时锁住所有表以便读取数据

--set-charset:添加 SET NAMES default_character_set 到备份文件中

--disable-keys:对于每个表,用/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引用INSERT语句。这样可以更快地导入dump出来的文件,因为它是在插入所有行后创建索引的。该选项只适合MyISAM表

--opt默认是开启的,它会加快备份速度,但是它也会锁表。

存储过程、触发器

--routines:备份存储过程

--triggers:备份触发器

事务

--single-transaction:把备份操作放到一个事务里执行。

刷新二进制日志

--flush-logs:关闭当前二进制日志并创建一个新的二进制日志文件,因此备份后的数据修改操作将从新的二进制日志文件开始记录。

恢复备份

mysql -h 127.0.0.1 -u root -p

此命令将在127.0.0.1服务器上执行databases.sql文件。

远程备份

mysqldump -h 127.0.0.1 -u root -p --databases db1 | mysql -h 192.168.22.133 -u root -p

此命令将127.0.0.1服务器上的db1数据库备份到192.168.22.133服务器上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值