+
95
-

mysql如何通过命令行备份数据库?

mysql如何通过命令行备份数据库?

网友回复

+
15
-

通过mysqldump来实现

备份mysql

1、导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > dbname.sql 2、导出数据库结构(不含数据) mysqldump -u username -p -d dbname > dbname.sql 3、导出数据库中的某张数据表(包含数据) mysqldump -u username -p dbname tablename > tablename.sq mysqldump -uroot -p -B dbname --table tablename > tablename.sql 4、导出数据库中的某张数据表的表结构(不含数据) mysqldump -u username -p -d dbname tablename > tablename.sql 5、备份数据库时使用参数(--ignore-table)排除某个表或多个表 mysqldump -uroot -p“password” --ignore-table=dbname.table1 --ignore-table=dbname.table2 dbname > /opt/backup.sql sql文件还原方法 1、mysql -uroot -p"db_password" -f dbname < backup.sql (-f 参数表示在导出过程中忽略出现的SQL错误) nohup mysql -uroot -p"db_password" -f dbname < backup.sql > /dev/null 2>&1 & (在导入较大的sql文件时可以放到后台执行) 2、mysql -uroot -p 先登录到数据库,use dbname; 切换到需要导入的库中,然后执行 source /opt/backup.sql; 这样就可以导入了 mysqldump 参数详解 --host 指定要备份数据库...

点击查看剩余70%

+
15
-

还可以通过xtrabackup

本文将通过应用更为普遍的物理备份工具xtrabackup来演示数据备份及恢复的内容。 1. xtrabackup 工具的安装

1.1 安装依赖包

/* xtrabackup 的使用需要安装相关的依赖包 否则使用过程中会报相关错误 */

yum install -y rsync perl l perl-Digest-MD5 perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

1.2 下载及安装

去percona官网下载对应版本的安装包

https://www.percona.com/downloads , 因为每个版本对应的数据库版本不同,因此需要根据数据库的版本选择对应的xtrabackup的安装包. 当前测试使用的数据库为MySQL5.7 因此下载2.4版本https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

另外,2.4.10及以后版本中,对libgcrypt进行了区分,因此也需要查询自己服务器的libgcrypt版本,然后选择对应的安装包 查看libgcrypt方法: [root@testdb ~]# yum list installed|grep libgcrypt libgcrypt.x86_64 1.5.3-14.el7 @anaconda

然后下载对应包 /* 二进制包 */ wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/tarball/percona-xtrabackup-2.4.18-Linux-x86_64.libgcrypt153.tar.gz /* rpm包 */ wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/redhat/7/x86_64/Percona-XtraBackup-2.4.18-r29b4ca5-el7-x86_64-bundle.tar

二进制包解压后即可使用,rpm包下载解压后 rpm -ivh 安装即可。操作均很简单,此处略过 xtrabackup通常使用 innobackupex命令, 可以使用 innobackupex --help 命令查看参数及说明。 其中常用参数及说明如下: --defaults-file 待备份mysql实例的配置文件 --user=USER 备份用户,默认为当前系统用户,建议使用备份专用账号 --password=PASSWD 备份用户密码 --port=PORT 数据库端口,默认3306 --host=HOST 需备份数据库的IP --apply-log 前滚、回滚日志,恢复前用 --database 指定需要备份的数据库,多个数据库之间以空格分开 --copy-back 将备份数据复制到目标路径 --incremental 增量备份,后面接的参数值为指定的增量备份的路径 --incremental-basedir=DIRECTORY 增量备份时使用指向上一次的增量备份所在的目录 --incremental-dir=DIRECTORY 增量备份还原的时候用来合并增量备份到全量,用来指定全备路径 --redo-only 对增量备份进行合并 --rsync 加快本地文件传输,适用于non-InnoDB数据库引擎。不与--stream共用 --no-timestamp 生成的备份文件不以时间戳为目录 1.3 创建备份账号

备份的账号建议单独创建,并授予相关权限 mysql> CREATE USER 'backup'@'localhost' IDENTIFIED BY 'Backup@123.com'; mysql> GRANT SUPER,RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'backup'@'localhost...

点击查看剩余70%

我知道答案,我要回答