文档章节

windows mysql主从服务器建立

勇敢的蜗牛_Z
 勇敢的蜗牛_Z
发布于 2015/05/05 19:10
字数 684
阅读 165
收藏 15

首先要在本地建立两个mysql服务(参考这里),指定不同的端口。我这里一个主(3306),一个从(3307)。
2、然后修改主配置文件:
[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
3、在主库添加一个用户 repl 并指定replication权限
create user 'repl'@'127.0.0.1' identified by 'asdf';

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

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

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

5、在主数据库里面运行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)

6、在从库设置它的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记下的参数。

7、在从库开启从数据库复制功能。

slave start;

mysql> slave start;
Query OK, 0 rows affected (0.00 sec)

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

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

-- 主库

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://blog.sina.com.cn/s/blog_4d06da1f01010m55.html

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

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

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


 

注意:

     * 主从间的数据库不是实时同步,就算网络连接正常,也存在瞬间,主从数据不一致。 
    * 如果主从的网络断开,从会在网络正常后,批量同步。 
    * 如果对从进行修改数据,那么很可能从在执行主的bin-log时出现错误而停止同步,这个是很危险的操作。所以一般情况下,非常小心的修改从上的数据。


本文转载自:

共有 人打赏支持
勇敢的蜗牛_Z
粉丝 11
博文 49
码字总数 2531
作品 0
济南
程序员
私信 提问
MySQL的主从复制介绍及配置

1.MySQL主从复制介绍 MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务...

10pcm
06/26
0
0
MySQL的主从复制与读写分离技术实例(一)主从复制

系统版本:CentOS 6.5 MySQL版本:mysql-5.5.38 生产环境下,如果对同一个数据库服务器即做写服务又做读服务,无论是从安全性、高可用性还是高并发等各个角度都不能满足实际需求,因此,一般...

睿睿学IT
2016/02/29
0
0
Linux下的MYSQL主主复制

为什么,会有mysql的主主复制。因为在一些高可用的环境中,mysql的主从不能满足现实中的一些实际需求。比如,一些流量大的网站数据库访问有了瓶颈,需要负载均衡的时候就用两个或者多个的mys...

duyunlong
2013/10/10
0
0
mysql主从复制基于日志复制

mysql主从复制 (超简单) 怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下: 1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改roo...

bengozhong
2016/10/10
8
0
Centos7+Mysql5.7实现主从复制

Centos7+Mysql5.7实现主从复制 在生产用途中为了实现更大的吞吐和高可用可能会对数据库做主从复制或者集群,我们先从主从复制说起。 远程连接 防火墙打开3306,用Iptable 和 firewalld随便G...

lry77
2016/12/18
10
0

没有更多内容

加载失败,请刷新页面

加载更多

基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
6分钟前
0
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linux-tao
9分钟前
0
0
设计模式“6”大原则!

面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要...

Java干货分享
25分钟前
4
0
mybatis学习(1)

JDBC连接方式: 1.底层没有使用连接池,操作数据库需要频繁的创建和关闭连接,消耗资源。 2.写原生的JDBC代码在JAVA中,一旦需要修改SQL的话(比如表增加字段),JAVA需要整体重新编译,不利...

杨健-YJ
今天
4
0
怎么组织文档

可以从以下几个方面考虑组织文档: ☐ 各种分支的界面截图和对应的类及文件 ☐ 框架或类图 ☐ 流程图 ☐ 时序图 ☐ 注意事项

-___-
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部