使用mysqldump备份数据库
- mysqldump教程
备份数据库的命令为: mysqldump -ubackup -pxxxxx db1 > db1.sql 如果是远程的MySQL服务,还可以加上IP和Port,例如: mysqldump -ubackup -pxxxxx -h192.168.100.100 -P3308 db1 > db1.sql mysqldump工具常用的几个用法,如下: 1)只备份表结构,不备份数据 mysqldump -ubackup -pxxxxx -h192.168.100.100 -P3308 -d db1 > db1.sql 2)只备份数据,不备份表结构 mysqldump -ubackup -pxxxxx -h192.168.100.100 -P3308 -t db1 > db1.sql 3)只备份指定表 mysqldump -ubackup -pxxxxx -h192.168.100.100 -P3308 db1 tb1 > db1_tb1.sql 4)备份全部数据库 mysqldump -ubackup -pxxxxx -h192.168.100.100 -P3308 -A > all_db.sql 5)备份指定多个库 mysqldump -ubackup -pxxxxx -h192.168.100.100 -P3308 -B db1 db2 > db12.sql 恢复数据: mysql -uroot -pxxxxx dbname < xxx.sql 6)导入导出数据都可以加一个命令指定字符编码 --default-character-set=utf8
xtrabackup
-
提供一个参考文档:http://xtra.aminglinux.com mysqldump对于导出几个G的数据库或几个表,还是不错的,速度并不慢。一旦数据量达到几十上百G, 无论是对原库的压力还是导出的性能,mysqldump就力不从心了。Percona-Xtrabackup备份工具, 是实现MySQL在线热备工作的不二选择,可进行全量、增量、单表备份和还原。 xtrabackup命令只支持InnoDB和XtraDB存储引擎的数据库非阻塞地备份, 而innobackupex通过perl封装了一层xtrabackup,对MyISAM的备份通过加表读锁的方式实现。 在CentOS7上这样安装percona-xtrabackup 安装yum源 rpm -ivh http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm yum install -y percona-xtrabackup-24 //yum安装2.4版本 用xtrabackup做全量备份的命令是: innobackupex --defaults-file=/etc/my.cnf --host=10.100.100.100 --port=3333 \ --user=bakuser --password=your_pass /data/backup/mysql 说明:在执行该备份操作之前,需要先创建一个用户bakuser(用户名自定义), 并授予reload, lock tables, replication client, process, super等权限。 备份数据将会放到/data/backup/mysql目录里面,自动生成一个以当前日期、时间为名字的目录,例如2018-10-15_03_00_01。