mysql 主从master-slave同步复制 配置,为读写分离准备

1、为方便,我在一个windows下安装两个mysql实例,端口分别是 3306、3307

打开 my.ini 或 my-default.ini 文件 配置 basedir datadir 和port ,默认3306。配置如下

主节点

[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志

basedir = D:\developer\mysql-5.6.24-win32
datadir = D:\developer\mysql-5.6.24-win32\data
# port = .....
# server_id = .....
server-id=10        //[必须]服务器唯一ID,默认是1,一般取IP最后一段

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

从节点

[mysqld]
log-bin=mysql-bin   #[不是必须]启用二进制日志

basedir = D:\developer\mysql-slave
datadir = D:\developer\mysql-slave\data
port = 3307
server-id=11       #[必须]服务器唯一ID,默认是1,一般取IP最后一段

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

安装mysql 服务,命令如下:

D:\developer\mysql-slave\bin\mysqld.exe install mysql-slave --defaults-file="d:\developer\mysql-slave\my-default.ini"

master mysql服务器创建 replication 权限的用户,然后重启

grant replication slave on *.* to ‘repl‘@‘%‘ identified by ‘qwert‘;

show master status; 然后不操作数据库。

slave 服务器 连接 master ,命令如下:

stop slave;change master to master_host=‘127.0.0.1‘, master_port=3306,master_user=‘repl‘,master_password=‘qwert‘, master_log_file=‘mysql-bin.000001‘, master_log_pos = 2388;start slave;show slave status;

出现的问题:

1、 show master status; 显示为空 则是 二进制日志 没有开启 log-bin = ...

2、 show slave status; 显示 Slave I/O: error connecting to master ‘[email protected]:3306‘ - retry-time: 60

  因为 master 服务器的mysql 用户有 user = 空的用户, delete from mysql.user where user=‘‘ 然后重启即可。

参考资料:

1. windows下安装多个mysql

2. mysql主从复制

3. mysql replication配置 http://www.cnblogs.com/northhurricane/p/3919889.html

4. Windows下MySQL的主从热备(自动同步)配置

时间: 2024-07-30 17:32:36

mysql 主从master-slave同步复制 配置,为读写分离准备的相关文章

2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种情况属于异步复制,无需维持长连接 通过配置,可以复制所有库或者几个库,甚至库中的一些表 它是MySQL内建的,自带 Replication的原理 主服务器master将数据库的改变写入二进制日志文件,从服务器slave同步这些二进制日志,并生成中继日志,从服务器根据中继日志,执行这些改变 DML:S

mysql主从(基于bin-log)以及mysql-proxy读写分离

准备好三台机器: 192.168.220.129(master) 192.168.220.143(slave) 192.168.220.144(proxy) 确保三台机器上mysql(5.6.29)都已装好 my.cnf配置 master: [mysqld1]basedir = /usr/localmysqldatadir = /data/mysqlport = 3306server_id=1socket = /tmp/mysql.socklog-bin=mysql-bin slave: [my

mysql (master/slave)复制原理及配置

1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收

mysql5.7主从(Master/Slave)同步配置

环境: mysql版本都是5.7(以前的版本配置可能不一样) 主(Master) windows:192.168.0.68 从(Slave) centos7:192.168.0.4 基本环境配置: 要保证防火墙3306端口开放,如果只是为了学习,可以直接关闭防火墙. centos关闭防火墙方法:service iptables stop或者systemctl stop firewalld Master的配置 修改/etc/my.cnf [mysqld] log-bin=mysql-bin ser

mysql主从之半同步复制和lossless无损复制

一 MySQL 的三种复制方式 1.1 简介 asynchronous 异步复制 fully synchronous 全同步复制 Semisynchronous 半同步复制 从MySQL5.5 开始,MySQL 以插件的形式支持半同步复制. 1.2 异步复制(Asynchronous replication) MySQL 默认的复制是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash 掉了,此时主上已经提交的事务可

Mysql主从数据库架构的复制原理及配置详解

1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收

mysql5.5主从同步复制配置

在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64bit,如下: cat /

烂泥:mysql5.5主从同步复制配置

本文首发于烂泥行天下. 在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64b

MySQL半同步复制配置

ansible-playbook -f 3 endpoint/mysql.yml -e "exec=fileConfig" -e "db_action=setAll" -e "paras={'plugin-load':'semisync_master.so;semisync_slave.so',rpl_semi_sync_master_enabled:'1',rpl_semi_sync_master_timeout:'1000',rpl_semi_sync

MySQL的Master/Slave集群安装和配置

本文讲述MySQL的Master/Slave集群安装和配置,安装的版本是最新的稳定版本GA 5.6.19. 为了支持有限的HA,我们使用Master/Slave简单的读写分离集群.有限的HA是指当Master不可用时,数据不会丢失,但在Master宕机的情况下是不可写的,必须手工处理故障.如果要支持更高的可用性,可以使用两台Master来做热切换. Master和Slave的MySQL安装是相同的,只是my.cnf的配置不同,需要配置二进制日志文件复制. 没有特殊说明,命名中带#的为root用户