mysql数据备份
一.方法一(全量备份cp)
①登录进去,数据表加锁
flush tables with read lock;
②把所有数据库数据复制到备份文件
cp -a /var/lib/mysql/* /opt/mysqlBackup
③恢复数据
cp -a /opt/mysqlBackup/* /var/lib/mysql/
重启服务可用
systemctl restart mysqld
二.方法二(mysqldump)
1.备份某个库
①备份
mysqldump -u账户 -p'密码' 库名 > 备份文件
mysqldump -uroot -p'123456' test > /opt/mysqlBackup/test.sql
②恢复
mysql -u账户 -p'密码' 库名 < 备份文件
mysql -uroot -p'123456' test < /opt/mysqlBackup/test.sql
2.备份某张表
①备份某张表
mysqldump -u账户 -p'密码' 库名 表名 > 备份文件
mysqldump -uroot -p'123456' test test_table > /opt/mysqlBackup/test_table.sql
②恢复表数据
mysql -u账户 -p'密码' 库名 < 备份文件
mysql -uroot -p'123456' test < /opt/mysqlBackup/test_table.sql
三.方法三(可增量备份xtrabackup)
1.全量备份
①第一次需要全量备份
xtrabackup --user=root --password=123456 --backup --target-dir=/opt/mysqlBackup
②恢复数据
数据准备
xtrabackup --prepare --target-dir=./backup
恢复备份
xtrabackup --copy-back --target-dir=/opt/mysqlBackup --datadir=/var/lib/mysql/
恢复的数据权限恢复
chown -R mysql:mysql /var/lib/mysql
重启服务后可用
systemctl restart mysqld
2. 增量备份
xtrabackup --user=root --password=123456 --backup --target-dir=/opt/mysqlBackup --incremental-basedir=/opt/mysqlBackup2