首页 > SQL学习 > MYSQL > MYSQL的备份和恢复
2017
04-22

MYSQL的备份和恢复

MYSQL的备份:使用命令mysqldump备份数据库:

选项:

-A, --all-databases :备份全部数据库,使用此选项时不需要指定数据库名或表名

-Y, --all-tablespaces :备份的时候记录所有表空间信息,该选项是默认选项。

-y, --no-tablespaces :备份的时候不记录表空间信息。

-B, --databases :备份多个数据库

--default-character-set=name :设定默认字符集

-f :即使我们在一个表导出期间得到一个SQL错误仍然继续导入。

-h, --host=name :连接的主机名

--ignore-table=name :指定忽略不备份的表,可以指定多个,指定的时候必须都使用database.table的格式指定

-t, --no-create-info :备份时不写入表的创建信息字句

-p, --password[=name] :指定连接时需要密码

-P, --port=3306 :指定连接时的端口号

--protocol=name :指定用于连接的协议名(tcp, socket, pipe,memory)。

--set-charset :指定在输出备份文件时输出设定字符集的语句,默认为此选项,可以使用--skip-set-charset选项来关闭。

--dump-date :指定在输出备份文件时输出日期,默认为此选项,可以使用--skip-dump-date选项来关闭。

–add-drop-table :在每个create语句之前增加一个drop table。

-u, --user=name :指定登录用户名。

常用的备份语句:

备份单个数据库:mysqldump -u username -p dbname [table1 table2 ...] > BackupName.sql

table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;

备份多个数据库

mysqldump -u username -p --databases dbname1 dbname2 ... dbname_n > Backup.sql

备份所有数据库

mysqldump -u username -p -all-databases > BackupName.sql

直接将MySQL数据库压缩备份

mysqldump -u username -p dbname | gzip > backupfile.sql.gz

MYSQL的恢复

一、使用mysql命令导入

mysql -u username -p db_name < backup.sql

还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -u username -p dbname

二、使用mysql命令行命令source导入,在数据库较大时推荐使用此方法

先使用命令mysql -u username -p [password]进入mysql命令行

然后使用use db_name进入要恢复的数据库。

然后使用"source backup.sql(绝对硬盘路径的备份文件名)"来恢复数据库

一般导入比较大的备份文件时需要在mysql的配置文件中添加修改下面语句:

interactive_timeout = 120

wait_timeout = 120

max_allowed_packet = 32M

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。