千家信息网

Mysql主从备份及恢复总结

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Mysql主从实现1、配置主从节点的服务配置文件1.1、配置master节点:[mysqld]binlog_format=mixedlog-bin=master-binserver-id=1port=
千家信息网最后更新 2026年10月31日Mysql主从备份及恢复总结

Mysql主从实现

1、配置主从节点的服务配置文件

1.1、配置master节点:

[mysqld]

binlog_format=mixed

log-bin=master-bin

server-id=1

port=3306

datadir=/mydata/data

socket=/tmp/mysql.sock

1.2、配置slave节点:

[mysqld]

binlog-format=mixed

log-bin=mysql-bin.log

server-id=2

relay-log=/mydata/relaylogs/relay-bin(需要创建/mydata/relaylogs/后chown -R mysql.mysql /mydata/relaylogs/)

port=3306

datadir=/mydata/data

socket=/tmp/mysql.sock

2、创建复制用户

主:

mysql> GRANT REPLICATION SLAVE ON *.* TO slave@192.168.4.% IDENTIFIED BY '12345';

mysql> flush privileges;

3、为备节点提供初始数据集

锁定主表,备份主节点上的数据,将其还原至从节点;在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。

注:通过全备可以看出mysql-bin的初始位置,

show master status 可以看出目前的空间位置。

通过全备和增量备份即可还原。

4、为了测试效果,先在master机器上创建测试库

mysql> CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.00 sec)

mysql> use test;

Database changed

mysql> create table if not exists test (id int(10) PRIMARY KEY AUTO_INCREMENT,name varchar(50) NOT NULL);

Query OK, 0 rows affected (0.02 sec)

mysql> insert into test.test values(1,"liudehua"),(2,"zhangxueyou");

Query OK, 2 rows affected (0.00 sec)

Records: 2 Duplicates: 0 Warnings: 0

mysql> select * from test.test;

+----+-----------+

| id | name |

+----+-----------+

| 1 | liudehua |

| 2 | zhangxueyou |

+----+-----------+

2 rows in set (0.00 sec)

5、导出master数据库多于slave数据库中的数据,然后导入到slave数据库中。保证双方在同步环境实现前的数据一致。

导出数据库之前先锁定数据库

mysql> flush tables with read lock;

# mysqldump -uroot -p12345 test > /opt/test.sql

然后将导出的test.sql文件上传到slave机器上

scp test.sql root@192.168.4.204:/root/

6、启动从节点的复制线程

记录mysq-bin文件和位置,从端可以从下面这个点开始同步

7、在slave数据库中导入从master传过来的数据。

mysql> CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci; #先创建一个test空库,否则下面导入数据时会报错说此库不存在。字符集需要相同与主库

mysql> use test;

#mysql -uroot -p test < test.sql

8、准备同步

mysql> stop slave;

mysql> CHANGE MASTER TO MASTER_HOST='192.168.4.203',

-> MASTER_USER='slave',

-> MASTER_PASSWORD='12345',

-> MASTER_LOG_FILE='master-bin.000004',

-> MASTER_LOG_POS=2327;

mysql> start slave;

mysql> show slave status \G;

9、最后解锁主库并写入数据进行同步验证:

master:

mysql> unlock tables;

mysql> insert into test.customers values (5,"liming",55),(6,"guofucheng",55);

Query OK, 1 row affected (0.00 sec)

slave:


数据 节点 数据库 位置 文件 同步 配置 备份 主从 机器 全备 测试 相同 一致 事件 二进制 双方 命令 增量 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 蓝思科技飞鸽互联网 互联网科技与金融科技 北京互联网科技公司 互联网 科技创新 互联网科技作文 狮子座互联网科技培训 互联网科技咨询 上海亿帐通互联网科技 互联网巨头投资的硬核科技 银川新华互联网科技职业技术培训学校图片 深圳育鹏互联网科技有限公司招聘 科技类公司包括互联网吗 企晟互联网信息科技有限公司 互联网数据科技专业 滨湖区互联网智能科技产品有哪些 美国互联网科技实力 宇信科技在杭州互联网排第几 广州燕处互联网科技有限公司 广州三三互联网科技有限公司 黑龙江互联网科技公司 小米移动互联网科技园 互联网属科技 美国互联网黑科技 电子科技大学互联网 中国互联网有什么科技含量 福州新华互联网科技学校 知乎 互联网科技商业 科技赋能视角下互联网保险发展 黑科技 体验场景 互联网大会 互联网科技自媒体灵感
0