mysql集群(主从)

本文主要记录mysql 主从配置。

经典的原理图

0、环境:

  • 采用阿里云ECS服务器,同区同配置,操作系统为ubuntus 14 64位,服务器如下:

    服务器A:
    内网IP: 10.44.94.219
    服务器B:
    内网IP: 10.44.94.97

  • 安装mysql环境,命令如下:

    sudo apt-get update
    sudo apt-get install mysql-server mysql-client

1 Master 配置:

  • 创建复制账号:

    GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO ‘backup‘@‘10.44.94.97‘ IDENTIFIED BY ‘fredric‘;

  • 拷贝数据(若存在历史数据)
  • 开启bin-log

    在my.cnf文件[mysqld]标签下增加
    log-bin=mysql-bin.log
    server-id=97
    #server-id 建议采用ip地址末尾

    备注:若binlog目录指定在其他地方,需要修改文件夹权限
    配置完重启mysql 服务:sudo /etc/init.d/mysql restart
    进入后输入:SHOW MASTER STATUS

显示:

+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 107 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

2 Slave 配置

  • 开启复制日志

在my.cnf文件[mysqld] 标签下增加
log_bin = mysql-bin.log
server_id = 219
relay_log = mysql-relay-bin.log
log_slave_updates = 1 #Slave同步从Master同步数据过来的时候,log_slave_updates参数用来控制Slave是否把所有的操作写入到binary log
read_only = 1 #Slave为只读

  • 配置Slave

CHANGE MASTER TO MASTER_HOST=‘10.44.94.219‘,
MASTER_USER=‘backup‘,
MASTER_PORT=3306,
MASTER_PASSWORD=‘fredric‘,
MASTER_LOG_FILE=‘mysql-bin.000002‘,
MASTER_LOG_POS=107;

  • 开启复制

  START SLAVE;
  输入:SHOW SLAVE STATUS\G; 显示:

Slave_IO_State: Waiting for master to send event
Master_Host: 10.44.94.219
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 107
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

测试遇到的问题:

报错:Last_IO_Error: error connecting to master

SLAVE服务器无法通过局域网IP连接MASTER服务器的数据库,原因是mysql默认安装时只绑定127.0.0.1这个IP访问,因此要修改my.cnf注释掉其中的bind-address = 127.0.0.1

时间: 2024-11-07 11:35:14

mysql集群(主从)的相关文章

mysql 集群+主从同步

SQL节点: 给上层应用层提供sql访问. 管理节点(MGM):  管理整个集群. 启动,关闭集群. 通过ndb_mgmd命令启动集群 存储/数据节点: 保存cluster中的数据.  数据节点,可以提供副本.实现数据冗余. NDB引擎:是一种 "内存中"的存储引擎 , 它具有可用性高和数据一致性好的特点. 缺陷 基于内存,数据库的规模受集群总内存的大小限制 基于内存,断电后数据可能会有数据丢失,这点还需要通过测试验证. 多个节点通过网络实现通讯和数据同步.查询等操作,因此整体性受网络

mysql集群:主从服务器读写分离

mysql集群架构方式很多,根据不同的需求做不一样的架构,简单一点的就是mysql的replication,也就是Mysql的复制功能,模式有:master-slaves,master-slaves-slaves,master-master-slaves等可以有多个分层,那么现在我所要说的是master-slaves的模式(其他的模式原理基本都一样),然后再通过mysql官方提供的Mysql-proxy实现读写分离,达到的效果. 环境: 主机::192.168.1.109,slave1:192.

MySql集群FAQ----mysql主从配置与集群区别、集群中需要多少台计算机呢?为什么? 等

抽取一部分显示在这里,如下, What's the difference in using Clustervs using replication? 在复制系统中,一个MySQL主服务器会更新一个或多个从服务器.事务是顺序地提交的,因此一个慢事务就可能导致从服务器比主服务器落后一段时间.这也意 味着,如果主服务器出错失败了,那么从服务器可能会缺少记录最后的那一小部分事务日志.如果使用的是事务安全存储引擎的话,例如InnoDB, 那么事务日志则会完全记录到从服务器上去或者完全不记录,但是复制不能保

MySQL集群(二)之主主复制

前面介绍了主从复制,这一篇我将介绍的是主主复制,其实听名字就可以知道,主主复制其实就是两台服务器互为主节点与从节点.接下来我将详细的给大家介绍,怎么去配置主主复制! 一.主从复制中的问题 1.1.从节点占用了主节点的自增id 环境: 主节点:zyhserver1=1.0.0.3 从节点:udzyh1=1.0.0.5 第一步:我们在主节点中创建一个数据库db_love_1,在创建一个表tb_love(里面有id自增和name属性). create database db_love_1; use d

Centos7+Mariadb集群-主从配置介绍

近期一直在恶补Linux相关的知识,主要是就是学Linux下的基本日常应用服务器的配置及优化,今天我们主要介绍一下在Centos7下安装及配置Mysql 集群,说到集群,其实就是为了提高服务的高可用性.对于高可用的相关服务今天不是主要介绍内容,今天主要介绍MYSQL的主从配置.对在Linux下的其他服务的介绍及服务高可用负载均衡我们将会在后期的文章中介绍.开始今天的介绍:Centos7+Mysql主从配置. 环境介绍: Hostname:A-S IP:192.168.5.21 Role:Mysq

mycat实现简单的mysql集群负载均衡

什么是mycat呢? 简单理解为一个MySQL中间件,它支持分流.基于心跳的自动故障切换,支持读写分离,支持mysql主从,基于Nio管理线程的高并发- 详见官网:http://www.mycat.io/ 为什么需要mysql集群? 一个庞大的分布式系统的性能瓶颈中,最脆弱的就是连接,一个是客户端与后端的连接,另一个是后端与数据库的连接,说白了就是发送端请求太多,接收端能够的接收和处理的请求并不多,在客户端与后端中可以利用类似nginx的负载均衡解决,而在后端与数据库中可以利用类似mycat的负

mysql集群一:主从复制,通过mysql-proxy做负载均衡

mysql集群架构方式很多,根据不同的需求做不一样的架构,简单一点的就是mysql的replication,也就是Mysql的复制功能,模式有:master-slaves,master-slaves-slaves,master-master-slaves等可以有多个分层,那么现在我所要说的是master-slaves的模式(其他的模式原理基本都一样),然后再通过mysql官方提供的Mysql-proxy实现读写分离,达到负载均衡的效果. 环境: 主机:master:192.168.1.109,s

mysql主主复制+keepalived 打造高可用mysql集群

为了响应公司需求,打造出更安全的mysql集群,能够实现mysql故障后切换,研究了几天终于有了成果,一起分享一下. 首先介绍一下这套集群方案实现的功能 1.mysql服务器故障后自动转移,修好后自动切回 2.mysql服务故障自动转移,修好后自动切回 3.可以实现在几秒钟内转移 以下内容均是实验环境,请根据实际情况修改响应参数 实验环境: mysql1 ip:10.1.1.20 mysql2  ip:10.1.1.21 mysql vip:10.1.1.25 三台机器均安装centos 6.5

高可用性、负载均衡的mysql集群解决方案

一.mysql的市场占有率 二.mysql为什么受到如此的欢迎 三.mysql数据库系统的优缺点 四.网络服务器的需求 五.什么是mysql的集群 六.什么是负载均衡 七.mysql集群部署和实现方法 八.负载均衡的配置和测试 九.Mysql集群系统的测试(测试方案+测试脚本+测试结果分析) l mysql的市场占有率 MySQL是世界上最流行的开源数据库,已有1100多万的击活安装,每天超过五万的下 载.MySQL为全球开发者.DBA和IT管理者在可靠性.性能.易用性方面提供了选 择. 第三方

MySQL集群之Fabric部署使用

Fabric是Oracle公司开发的既有分片又有读写分离的MySQL集群管理工具,虽然个人觉得目前版本还有很多缺陷,但应该会逐步完善,将来会是一个不错的工具. 第一步:下载并安装 Fabric Fabric可以从MySQL官网下载,她属于MySQL Utilites里,官方下载地址是http://dev.mysql.com/downloads/utilities/ 我下载的是源码版的,mysql-utilities-1.5.6.zip,因为是Python所写,所以安装跟C语言的不同: $ unz