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

 

posted @ 2025-07-09 20:31  铿锵有力自信且坚定  阅读(7)  评论(0)    收藏  举报