SUPER.M A M

L Y

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

实现Mysql主从备份

首先说下主从备份的优点:

1. mysql的主从复制的主要优点是同步"备份", 在从机上的数据库就相当于一个(基本实时)备份库.

2. 在主从复制基础上, 通过mysqlproxy可以做到读写分离, 由从机分担一些查询压力.

3. 做一个双向的主从复制, 两台机器互相为主机从机, 这样, 在任何一个机器的库中写入, 都会"实时"同步到另一台机器, 双向的优点在于当一台主机发生故障时, 另一台主机可以快速的切换过来继续服务.

接下来讲下具体的实现步骤:

1.修改主数据库根目录下的my.ini配置文件,添加server-id=1  设置服务器id,配置需要备份的数据库(binlog-do-db=库名),设置不需要备份的数据库(binlog-ignore-db=库名) ,开启二进制日志(log-bin=mysql-bin)然后重启数据库

2.将主库和从库的数据保持一致,主要实现的方法是

(1)第一种方法将锁定主表让数据保持现在状态,具体操作为以下几步:

      1. MYSQL-A  下执行SQL命令:flush tables with read lock;目的是锁表

      2. MYSQL-B下面执行命令:mysqldump -h10.0.0.2 -uroot -proot virt > var/backup/virtback.sql;备份数据;

      3. MYSQL-A下执行SQL命令:unlock tables;解除锁定。

      4. MYSQL-B 执行命令:mysql -uroot -proot virt < var/backup/virtback.sql;还原数据

(2)第二种方法就是使用复制数据,将主库copy一份到从库

3.真实操作

主库:  1. 注册一个用户    %  表示所有客户端都能连

            2. 登录主服务器的mysql,查询master的状态   show master status;

 

 

从库:   1.配置从服务器Slave: change master to master_host='192.168.145.222',master_user='mysync',master_password='q123456',
         master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要断开,308数字前后无单引号。

           2.start slave;   //开启从服务器复制功能

     3.检查从服务器复制功能状态   show slave status

         红框标注的值都为YES 说明配置成功。自己可以选择配置的数据库表中添加数据进行测试。

 

posted on   super.  阅读(1353)  评论(0编辑  收藏  举报

编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示