mysql数据库备份及还原

一、Mysql数据库备份指令格式:

mysqldump -h主机名  -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql

 注:直接cmd执行该指令即可,不需要先mysql -u root -p链接数据库

1、备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

(例:mysqldump -h 122.51.176.153 -uwang -p1992S@ sw_account --default-character-set=gbk --opt -Q -R --skip-lock-tables>testbackup.sql)

2、备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

3、直接将MySQL数据库压缩备份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

4、备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

5、同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

6、仅备份数据库结构
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

7、备份服务器上所有数据库
mysqldump –all-databases > allbackupfile.sql

二、数据库还原有三种方式:source命令、mysql、gunzip命令

1、source 命令
进入mysql数据库控制台,
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /home/work/db/bkdb.sql

2、mysql
mysql -hhostname -uusername -ppassword databasename < backupfile.sql

3、gunzip
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

三、通过binlog日志功能还原误删除数据

参考:https://www.cnblogs.com/x-gentleman/p/9571697.html

 

原文地址:https://www.cnblogs.com/wanggang2016/p/10528206.html