mysql如何做主备

2023年 8月 10日 83.3k 0

对于MySQL数据库来说,主备(Master-Slave)复制是一种常见的高可用性方案,可以保证数据的备份和容错。下面是一份简单的教程,介绍如何通过MySQL的主备(Master-Slave)复制实现数据库的高可用性。

首先,我们需要在主数据库上进行以下操作:

CREATE USER 'slave_user'@'%' IDENTIFIED BY 'password'; # 创建用于同步的用户
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%'; # 让同步用户拥有主从同步的权限
FLUSH TABLES WITH READ LOCK; # 锁定当前所有表
SHOW MASTER STATUS; # 查看主数据库 binlog 的文件名及位置用于配置从数据库

执行以上命令后,可以得到类似以下的输出信息:

+---------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 120 | | | |
+---------------------+----------+--------------+------------------+-------------------+

记下这个信息,我们在配置从数据库时需要用到。

然后我们需要在从数据库上进行以下操作:

CHANGE MASTER TO MASTER_HOST = 'master_ip', MASTER_USER = 'slave_user', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 120; # 配置主备关系
START SLAVE; # 启动从数据库同步

通过以上命令,从数据库就能够开始从主数据库上同步数据,从而保证数据备份和容错。在运行过程中,如果出现异常,可以通过以下命令进行修复:

STOP SLAVE; # 停止从数据库同步
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=123; # 修改主库日志文件名和位置
START SLAVE; # 重新启动从数据库同步

这样,我们就完成了MySQL数据库的主备(Master-Slave)复制过程,保证了数据的备份和容错。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论