一文搞懂MySQL数据库怎么备份与恢复

文 / @WordPress主题

是指以二进制形式将数据库的数据文件、日志文件和配置文件备份下来,常用的物理备份工具有MySQL自带的mysqldump工具、Percona的xtrabackup、Oracle的Enterprise Backup等。物理备份优点是备份和恢复速度快,缺点是不够灵活,不能单独备份某个表或者某个数据库。

逻辑备份是指以SQL语句的形式备份数据,常用的逻辑备份工具有mysqldump、mysqldbexport、mysqldbcopy等。逻辑备份优点是备份灵活,可以单独备份某个表或者某个数据库,缺点是备份和恢复速度较慢。

二、备份与恢复的基本操作

1.备份

使用mysqldump工具备份数据库:

mysqldump -u root -p databasename > backup.sql

使用mysqldump工具备份某个表:

mysqldump -u root -p databasename tablename > tablename.sql

使用xtrabackup工具备份数据库:

innobackupex --user=root --password=PASSWORD --no-timestamp /data/backup

2.恢复

使用mysqldump工具恢复数据库:

mysql -u root -p databasename < backup.sql

使用mysqldump工具恢复某个表:

mysql -u root -p databasename < tablename.sql

使用xtrabackup工具恢复:

innobackupex --copy-back /data/backup

三、主从同步的基本操作

步骤:

1.在主服务器上设置二进制日志文件和服务器ID

在my.cnf中增加以下配置:

log-bin=master-bin #开启二进制日志
server-id=1 #主服务器ID

重启MySQL服务,使设置生效。

2.在从服务器上设置服务器ID和主服务器信息

在my.cnf中增加以下配置:

server-id=2 #从服务器ID
log-slave-updates=1 #开启从服务器更新二进制日志
relay-log=slave-relay-bin #从服务器中转日志文件
relay-log-index=slave-relay-bin.index #从服务器中转日志文件索引

在从服务器的命令行中执行以下命令:

CHANGE MASTER TO MASTER_HOST='master_ip',MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', MASTER_LOG_FILE='master_bin_log.000001',MASTER_LOG_POS=xxx;

其中,xxx是主服务器的最新日志位置。

3.启动复制

在从服务器的命令行中执行以下命令:

START SLAVE;

就可以开始数据复制了。

四、总结

备份与恢复是数据库管理的基本操作,而主从同步是提高业务高可用性的重要手段。MySQL提供了多种备份和恢复方式,适应不同的需求。在备份和恢复过程中,需要注意备份的频率和备份的保存位置,以及备份的数据是否完整且可靠。在主从同步过程中,需要注意主从服务器的配置、数据同步的状态和延迟情况,以保证业务的高可用性。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。