一、环境

 操作系统 :CentOS 6.5
数据库版本:MySQL 5.6.27
主机A:192.168.1.1 (Master)
从机B:192.168.1.2 (Slave)
从机B:192.168.1.3 (Slave)

二、基本环境配置

MYSQL是通过3306端口访问的,所以要保证防火墙对3306端口的开启。

三、Master的配置

1、配置my.cnf

在Linux环境下MySQL的配置文件的位置是在 /etc/my.cnf ,在该文件下指定Master的配置如下:

[root@mycentos ~]# vim /etc/my.cnf

server-id               = 1       # 一般用IP的最后一段,这个标识是唯一的
log-bin = mysql-bin
binlog-ignore-db = test # 排除不同步的库
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
binlog-do-db = vertical_analysis # 选择要同步的库
binlog_format = mixed
expire_logs_days = 7
relay-log = relay-log
log_slave_updates
skip-slave-start

说明:

binlog-ignore-db:表示同步的时候ignore的数据库

binlog-do-db:指定需要同步的数据库

2、重启mysql

[root@mycentos ~]# service mysqld restart

3、进入mysql

[root@mycentos ~]# mysql -u root -p

4、 赋予从库权限帐号

允许用户在主库上读取日志,赋予192.168.1.2/3也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

在Master数据库命令行中输入:

mysql> GRANT FILE ON *.* TO 'slaver'@'%' IDENTIFIED BY '';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaver'@'%' IDENTIFIED BY '';
mysql> FLUSH PRIVILEGES

这里slaver 用户作为同步的时候使用到的用户,可以自己设定。

5、检测授权结果 

mysql> select * from user where host='%' and user='slaver'\G; 

# 如果Repl_slave_priv项为Y,表示授权成功。

6、查看主数据库master状态

mysql> show master status;

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

| File             | Position | Binlog_Do_DB          | Binlog_Ignore_DB                                  | Executed_Gtid_Set |

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

| mysql-bin.000004 |    28125 | vertical_analysis     | performance_schema ,information_schema,test,mysql |                   |

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

1 row in set (0.00 sec)

这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。

四、Slave的配置

1、配置my.cnf

[root@mycentos ~]# vim /etc/my.cnf

server-id               = 2            # 一般用IP的最后一段,这个标识是唯一的
log-bin = mysql-bin
binlog_format = mixed
expire_logs_days = 7
relay-log = relay-log # 注意:不同的slave这里也是唯一的
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
binlog-ignore-db = mysql
binlog-ignore-db = test
replicate-do-db = vertical_analysis
replicate-ignore-db = mysql
log_slave_updates
skip-slave-start
slave-skip-errors = all
slave-net-timeout = 60

2、配置Slave同步信息

mysql> stop slave;

mysql> change master to
  master_host='192.168.1.1',
  master_port=3306,
  master_user='slaver',
  master_password='',
  master_log_file='mysql-bin.000004',
  master_log_pos=28125; mysql> start slave;

3、检测从数据库复制功能状态

mysql> show slave status\G;

# 其中下面两项都必须为yes。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

五、验证

在主库上建一张表,看下从库是否同步过来。

附:

错误1:Slave failed to initialize relay log info structure from the repository

解决方法:使用reset slave all清空所有的复制信息,然后重置master.info、start slave后复制正常。

CentOS6.5配置MYSQL一主多从详解的更多相关文章

  1. MySQL Cluster 配置文件(config.ini)详解

    MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...

  2. MySQL数据类型以及基本使用详解

    MySQL数据类型以及基本使用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL服务器的主要组件 我们知道MySQL的主要组件主要是由服务端(mysqld)和客户端 ...

  3. mysql互为主从实战设置详解及自动化备份(Centos7.2)

    mysql互为主从实战设置详解(Centos7.2) 第一步:mysql配置  my.cnf配置 服务器1 (10.89.10.90) [mysqld]  server-id=1  log-bin=/ ...

  4. Mysql数据库导入命令Source详解

    Mysql数据库导入命令Source详解 几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dat ...

  5. Nginx 主配置文件参数详解

    Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置). ...

  6. MySQL事务及隔离级别详解

    MySQL事务及隔离级别详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的基本架构 MySQL的基本架构可以分为三块,即连接池,核心功能层,存储引擎层. 1> ...

  7. mysql 聚集函数 count 使用详解

    mysql 聚集函数 count 使用详解 本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 coun ...

  8. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

  9. MYSQL常用内置函数详解说明

    函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...

随机推荐

  1. [Android实例] Android Studio插件-自动根据布局生成Activity等代码1.4 (开源)(申明:来源于网络)

    [Android实例] Android Studio插件-自动根据布局生成Activity等代码1.4 (开源)(申明:来源于网络) 地址:http://www.eoeandroid.com/thre ...

  2. Db2性能:系统CPU高问题分析的一些思路

    Db2性能:系统CPU高问题分析的一些思路 1. 如何判断CPU高? 有很多操作系统的命令可以看出来,比如ps -elf,iostat, vmstat, top/topas, 2. 收集数据 CPU高 ...

  3. djiango web 在进入admin的时候出现'set' object is not reversible错误

    解决方案是在你的urls.py 中 把{ } 改为[] 原因不详 治标不治本,并不能改的东西

  4. [No0000EB]C# 数组(Array)

    数组是一个存储相同类型元素的固定大小的顺序集合.数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合. 声明数组变量并不是声明 number0.number1.....number99 一个 ...

  5. [转载]win7x64下的redis安装与使用

    原文应用为:`https://www.cnblogs.com/koal/p/5484916.html` 先引用百度百科的一段话吧,具体可以到百科查看吧. Redis是一个开源的使用ANSI C语言编写 ...

  6. php之sphinx

    1.修改sphinx配置文件? source 数据源名称 { type = mysql ######数据源类型 sql_host = #######数据库主机地址(如果是外网,请确保防火墙允许链接) ...

  7. IndentationError: expected an indented block 在继承中出现的问题:未完

    1. class Foo(object): def __init__(self,name,price,period): self.name=name self.price=price self.per ...

  8. Http-server 的使用

    Http-server 是一款基于node.js的web前端开发服务,可以很好的承担前后端解耦后,前端服务的搭建. 1,首先安装node node下载地址:https://nodejs.org/zh- ...

  9. Aop的基本介绍

    基本概念 通知  就是你想要的功能,也就是我们常说的安全.事物.日志等.先定义好这些,然后再想用的地方用一下.包含Aspect的一段处理代码 注意:其实这些功能(通知)并不是我们业务逻辑所必须的,只是 ...

  10. kubernetes的Controller Manager

    1. Controller Manager简介 Controller Manager作为集群内部的管理控制中心,负责集群内的Node.Pod副本.服务端点(Endpoint).命名空间(Namespa ...