Linux下通过mysqldump备份MySQL数据库成sql文件

阶段1:傻瓜式全备份
 
mysqldump -h ip地址 -uusername -ppassword -A >~/name.sql
 
此种情况将整个数据库(结构和数据)导出备份成一个sql文件
 
阶段2:适当的调整参数达到不同的备份效果
 
我们先help一下
 
mysqldump --help
 
由于help输出过多就不一一列举出来了
 
 
 
通过远程连接备份
 
-h 需要备份服务器的地址
 
-u 允许远程连接的账号
 
-p允许远程连接账号的密码
 
-A 全备份
 
 
 
常用参数的说明
 
-A, --all-databases 备份所有数据库
 
--add-drop-database 在每个create database 语句之前增加一个drop database。
 
--add-drop-table 在每个create table 语句之前增加一个drop table。
 
--add-locks 在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)
 
--default-character-set=name 设置导出数据的字符集
 
--opt  同--quick --add-drop-table --add-locks --extended-insert --lock-tables。应该给你为读入一个MySQL服务器的尽可能最快的导出。
 
-e, --extended-insert  使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)。生成的文件insert语句中回事批量的,提高导入时的速度
 
--hex-blob 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。
 
--quick,-q 该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中
 
-t, --no-create-info 只导出数据
 
-d, --no-data 只导出结构
 
阶段3:备份制定定数据库和制定数据库的某个表
 
mysqldump -h ip地址 -uusername -ppassword databasename >~/name.sql
 
mysqldump -h ip地址 -uusername -ppassword databasename tablename >~/name.sql

相关推荐