因为是在同一服务器上配置并且没有使用虚拟机,所以在网上找资料是找到的写的不全,写的好的又没百度到,你说配置难么其实也跟学自行车一样!

准备环境

Windows10

主库 Mysql 5.6.21

从库 Mysql 5.6.28

一般情况从库是要比主库版本高的,因为考虑到mysql版本向后兼容性!

安装

首先要在本地建立两个mysql服务(参考这里),指定不同的端口。我这里一个主(3306),一个从(3309)。

配置文件

一般是把配置参数[mysqld]放在这个下面,有博客说要不容易出错

注:

可以用参数指定只复制一张表,如:#只复制某个表replicate-do-table=tablename#只复制某些表(可用匹配符)replicate-wild-do-table=tablename%#只复制某个库replicate-do-db=dbname#只复制某些库replicte-wild-do-db=dbname%#不复制某个表replicate-ignore-table=tablename

主库配置:

[mysqld]

server-id = 1

binlog-do-db=test #要同步的数据库

#binlog-ignore-db=mysql   #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的

log-bin=mysql-bin #要生成的二进制日记文件名称

从库配置

[mysqld]

server-id = 2

log-bin    = mysql-bin

replicate-do-db=test

以上两步配置完成重启,主库和从库

配置账户

1.在主库添加一个用户 repl 并指定replication权限

create user 'repl'@'127.0.0.1' identified by 'asdf';

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1';     -- 这里我指定数据库(test.*)时报错,而指定全库(*.*)时会成功。

2.保持主从mysql的test数据库初始状态一致。

一般是先将所有的表加读锁,然后copy磁盘上的数据库文件夹。我这里直接停止服务,然后将数据文件拷贝过去。

在主数据库里面运行show master status;记下file和position字段对应的参数。

mysql> show master status;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| mysql-bin.000001 | 107 | test | |

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

1 row in set (0.00 sec)

3.在从库设置它的master:

mysql> change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107;

Query OK, 0 rows affected (0.19 sec)

这里的master_log_file和master_log_pos对应刚才show master status记下的参数。

4.在从库开启从数据库复制功能。

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

在从库可以通过show slave status来查看一些参数。

测试

此时在主库创建表或插入数据,在从库就会很快也能看到了。

注:要指定好数据库,use 数据库名;

-- 主库

mysql> create table tianyc_02(b int);

Query OK, 0 rows affected (0.16 sec)

mysql> insert into tianyc_02 values(2013);

Query OK, 1 row affected (0.13 sec)

-- 从库

mysql> show tables;

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

| Tables_in_test |

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

| tianyc_01 |

| tianyc_02 |

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

2 rows in set (0.00 sec)

mysql> select * from tianyc_02;

+------+

| b |

+------+

| 2013 |

+------+

1 row in set (0.00 sec)

同理,可以搭建第二、第三个从节点。

大部分转载于此:http://www.cnblogs.com/yuechaotian/archive/2013/05/15/3080056.html

备注:两个服务的serve_id必须不同,否则在开启复制功能时会提示错误

mysql> start slave;

ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

我这里设置的主节点id为1,从节点id为2。也可以按照ip或端口进行设置,好用来区分。参考这里。

想法:

按照现在配置好之后。

备库关闭了(stop slave) ,这时候主库有数据写入,等到下次备库开启(start slave)主库写入的数据也会同步到备库上。

如果在备库上A表写入一条数据,之后主库A表写入一条和备库不同的数据,造成的结果就是,主库A表这一条数据是没有写入到备库的。紧接着主库再添加一条数据,这条数据会同步到备库!

主库的删除修改不会影响备库!

错误问题:

原因:检查my.cnf,原来没指定relay_log,mysql默认产生的relay_log名被该server上的另一个mysql slave占用了。

[ERROR] Slave SQL: Slave failed to initialize relay log info structure from the repository, Error_code: 1872

mysql>reset slave

然后接着往下执行就可以了。

mysql 主从备份 主服务器配置_同一服务器配置Mysql主从备份相关推荐

  1. mysql建表主键_常见的MySQL命令大全second

    4.mysqldump 备份数据库 shell> mysqldump -h host -u root -p dbname >dbname_backup.sql 恢复数据库 shell> ...

  2. 阿里mysql连接数据库服务器配置_配置链接mysql数据库

    本文档介绍如何使用Sqoop工具实现文件存储HDFS和关系型数据库MySQL之间的双向数据迁移. 背景信息 Sqoop是一款开源的工具,主要用于在Hadoop和结构化数据存储(如关系数据库)之间高效传 ...

  3. windows mysql主主配置_基于docker MySQL数据库主主同步配置(windows上)

    安装docker部分 坑点 docker拉镜像速度过慢 点击docker图标,点击邮件看到setting,setting界面上点击docker engine,配置如图所示 还有两个备用的镜像地址 &q ...

  4. mysql 备份如何使用_如何使用命令来备份和还原MySQL数据库

    数据库在使用当中都会有数据库备份工作,当数据库发生严重错误无法启动,或者数据丢失时可以及时有效地恢复数据.那么多备份就简单介绍如何使用命令来备份和还原MySQL数据库. 备份数据库 使用mysqldu ...

  5. Mysql数据库的简单备份与还原_简单的MySQL备份与还原方法分享

    为了安全起见,需要经常对数据库作备份,或者还原.对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出.导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMyA ...

  6. mysql 备份 第三方工具_目前主流的数据库备份第三方工具都有哪些比较好用

    只有InnoDB表,仅上备份锁 请点击输入图片描述 若有非InnoDB表,上全局锁 请点击输入图片描述 特性2:Redo Log Archiving MEB能做到在线热备,备份时不影响数据库读写,这是 ...

  7. mysql如何查看事务日记_详解 Mysql 事务和Mysql 日志

    事务特性 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节. 2.一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破 ...

  8. mysql不停止重启服务器_不停止MySQL服务增加从库的两种方式

    现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. ...

  9. mysql命令参数详解_详解Mysql命令大全(推荐)

    主要介绍常用的MySQL命令,包括连接数据库,修改密码,管理用户,操作数据库,操作数据表,数据库备份等,每个命令都配有实例说明,让大家更容易理解. 1.连接Mysql 格式: mysql -h主机地址 ...

  10. 龙果学院mysql分布式集群代码_龙果学院-MySQL大型分布式集群解决方案

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 课程概述 2 课程背景 3 纵观大型网站架构发展,总结持久化部分需要应对的问题 4 操作系统安装以及配置 5 在CentOS上通过yum安装mysql ...

最新文章

  1. mysql免安装版的问题
  2. orcale 非非等于_oracle 不等于1怎么查?
  3. 鼠标手势识别 [Flash]
  4. 广度优先搜索解决欧拉回路时间复杂度_迷宫搜索类的双向bfs问题(例题详解)
  5. Det3D - 首个通用 3D 目标检测框架
  6. python设计模式1-单例模式
  7. springsecurity文档_今天学了springsecurity
  8. (转)何为人?是为忍!
  9. 自定义条件查询_跟我学shardingjdbc之自定义分库分表策略-复合分片算法自定义实现...
  10. Java——学生管理系统
  11. cad怎么画立体图形教学_CAD怎么画三维图形? cad绘制立体的室内装修图的教程
  12. 2013应届毕业生“艺龙旅行网”校招应聘总结
  13. Keil5改黑色炫酷背景
  14. 新版sonar代码审查问题总结
  15. 短视频行业深度(一)快手科技:私域筑垒,公域进军.PDF
  16. comsol-旋度的形象化概念
  17. jane street market prediction 冠军方案 奇巧淫技与topline链接整理(3/3)
  18. matplotlib常用绘图风格
  19. 由于找不到msvcp140.dll,无法继续执行代码。重新安装可能会解决此问题
  20. Jenkins 添加配置Git账号密码凭据

热门文章

  1. 对象和json相互转换
  2. socket阻塞与非阻塞,同步与异步
  3. Cloudera Manager agent无法启动,拒绝链接 Failed! trying again in 2 second(s): [Errno 111] Connection refuse
  4. Hue添加RDBMS(关系型数据库)
  5. windows 安装tensorflow2.0
  6. MaxCompute非事务表如何更新数据
  7. 构建在线教育弹性高可用视频处理架构实战
  8. Apache Flink 进阶入门(二):Time 深度解析
  9. MongoDB 定位 oplog 必须全表扫描吗?
  10. 基于实时计算(Flink)与高斯模型构建实时异常检测系统