Mysql集群讲解(四) 一主多从环境搭建

Mysql集群讲解(四)

一主多从环境搭建:

A:环境配置(#号后内容记得删除)

配置主从MySQL配置文件my.cnf

主(3307)里面加入

log-bin=mysql-bin     #表示启用二进制日志

server-id=3307        #表示server编号,编号要唯一

从(3308)里面加入

server-id=3308        #表示server编号,编号要唯一

从(3309)里面加入

server-id=3309        #表示server编号,编号要唯一

从(3310)里面加入

server-id=3310        #表示server编号,编号要唯一

这里把3307数据库当作主

文件如下:

[client]

port        = 3307

socket      = /usr/local/mysql-5.7.18/data/3307/mysql.sock

default-character-set=utf8

[mysqld]

port    = 3307

socket  = /usr/local/mysql-5.7.18/data/3307/mysql.sock

datadir = /usr/local/mysql-5.7.18/data/3307

log-error = /usr/local/mysql-5.7.18/data/3307/error.log

pid-file = /usr/local/mysql-5.7.18/data/3307/mysql.pid

character-set-server=utf8

lower_case_table_names=1

autocommit = 1

### Master Slave ###

log-bin=mysql-bin

server-id=3307

其余3308 3309 3310作为从配置类似如下

[client]

port        = 3308

socket      = /usr/local/mysql-5.7.18/data/3308/mysql.sock

default-character-set=utf8

[mysqld]

port    = 3308

socket  = /usr/local/mysql-5.7.18/data/3308/mysql.sock

datadir = /usr/local/mysql-5.7.18/data/3308

log-error = /usr/local/mysql-5.7.18/data/3308/error.log

pid-file = /usr/local/mysql-5.7.18/data/3308/mysql.pid

character-set-server=utf8

lower_case_table_names=1

autocommit = 1

server-id=3308

B:服务启动:

进入/usr/local/mysql-5.7.18/bin目录,重启四个MySQL服务,启动时指定配置文件启动:

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3307/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3308/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3309/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3310/my.cnf &

C:设置主从关系:

1、在主服务器上创建复制数据的账号并授权:

grant replication slave on *.* to ‘copy‘@‘%‘ identified by ‘123456‘;

2、建议重置一下主服务状态,执行命令:reset master;

3、在主服务器上执行命令,获取主服务器二进制binlog坐标(二进制文件名和坐标值在后面会用到):

show master status;

在从服务器上执行命令,设置从服务器的master

4、(别小看这两个命令 如果中间配置错误 可以用这个命令清除配置)

建议配置时执行:

stop slave;

reset slave;

5、(端口号用自己的:如果配置出错 请执行4操作)

change master to master_host=‘192.168.91.135‘,master_user=‘copy‘,

master_port=3307,master_password=‘123456‘,

master_log_file=‘mysql-bin.000001‘,master_log_pos=154;

6、start slave;  启动操作

D:主从验证:

检查从服务器复制功能状态

mysql> show slave status \G

Slave_IO_Running和Slave_SQL_Running为YES,就是正常状态。

在主服务器上创建数据库、表、数据,然后在从服务器上查看是否已经复制

以上操作过程显示正常,则主从服务器配置完成;

时间: 2024-07-31 06:06:06

Mysql集群讲解(四) 一主多从环境搭建的相关文章

Mysql集群讲解(五) 多主多从环境搭建

A:概述: 一主多从,可以缓解读的压力,但是一旦主宕机了,就不能写了: 所以我们可以采用双主双从架构 架构规划: 主master 3307 ---> 从slave 3309 主master 3308 ---> 从slave 3310 3307 <---> 3308 互为主从 2个写节点,每个写节点下又是2个读节点: B:文件配置: 1.配置每一台MySQL服务器的配置文件my.cnf [client] port        = 3307 socket      = /usr/lo

Mysql集群讲解(三)Mysql多实例(多个数据库)搭建

Mysql集群讲解(三) Mysql多实例(多个数据库)搭建 多实例概述: MySQL多实例是指安装MySQL之后,我们可以在一台Linux服务器上同时启动多个MySQL数据库(实例),不需要安装多个MySQL: 如果是有多台Linux服务器,那么我们需要每台服务器都分别安装MySQL: 在一台Linux服务器上启动多个MySQL数据库(实例),通过为各个数据库实例配置独立的配置文件来实现,即每个数据库实例有自己单独的配置文件: 多实例配置: 1. 在MySQL安装主目录下创建/data/330

MySql集群讲解(二)Mysql Liunx环境下搭建

MySql集群讲解(二) MySQL Linux环境下搭建 A:下载: wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz B:安装前环境检查: 1.检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分支,执行命令: yum list installed | grep mariadb rpm -qa | grep mariadb 2.若Lin

MySQL集群(四)之keepalived实现mysql双主高可用

前面大家介绍了主从.主主复制以及他们的中间件mysql-proxy的使用,这一篇给大家介绍的是keepalived的搭建与使用! 一.keepalived简介 1.1.keepalived介绍 Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三.第四层.第五层交换机制检测每个服务节点的状态,如果某个服务器节点出现异常, 或者工作出现故障,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除,这些工作全部是自动完

MySQL集群数据库表的主键设计

使用MySQL数据库的人,毫无例外的在设计时都会碰到主键的选型,一般都会在下面三种中选择一个或多个,自增长列.UUID以及UUID_SHORT,这集中主键的特性,想必大家都非常了解了,我就不再细说了,在InnoDB引擎中,选择哪种主键更好,网上也有很多帖子有描述,基本上都是建议是自增长列或者搭配UUID作为逻辑主键一起使用,但是如果是ndbcluster引擎呢? 为此我专门做了一下测试,环境为4台物流机器(2C,8G内存)做的数据节点,NoOfReplicas=2,首先建立三张表. CREATE

Mysql集群讲解(一)

主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在: 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故: 为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障了,其他

Linux环境MySQL集群配置

一.介绍 ======== 这篇文档旨在介绍如何安装配置基于2台服务器的MySQL集群.并且实现任意一台服务器出现问题或宕机时MySQL依然能够继续运行. 注意! 虽 然这是基于2台服务器的MySQL集群,但也必须有额外的第三台服务器作为管理节点,但这台服务器可以在集群启动完成后关闭.同时需要注意的是并不推荐在 集群启动完成后关闭作为管理节点的服务器.尽管理论上可以建立基于只有2台服务器的MySQL集群,但是这样的架构,一旦一台服务器宕机之后集群就无法继 续正常工作了,这样也就失去了集群的意义了

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

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