首先确定安装配置的环境

centOS7,mysql5.6

在配置之前要保证的几个点

1、系统防火墙,如果只是测试,可以关闭防火墙,如果不是测试,请开发需要使用的端口号,如3306;

开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

关闭防火墙
systemctl stop firewalld.service

让防火墙重启之后也是关闭的
systemctl disable firewalld.service

2、两台机器可以互相访问,ip必须都能互相ping通。

3、两台机器最好不要使用虚拟机的克隆功能,让mysql重新安装过,这样mysql的配置文件会不一样,避免了一些错误。

4、保证两台机器的mysql版本相同,数据库,表相同。

5、数据库需要远程可以访问,需要给出任意或者确定的ip可以访问到数据库,不能让数据库只有本地能访问。

使用下面的命令可以使任意ip用户可以访问;
mysql>grant all privileges on *.* to 'root'@'%' identified by '这里是root的密码' with grant option;

配置步骤

修改主服务器master:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=1

修改从服务器slave:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=2

重启两台服务器的mysql
/etc/init.d/mysqld restart

登录主服务器的mysql,查询master的状态
mysql>show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000021 |      120 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
!注意!这两个值需要记住,记住之后请不要动主服务器的mysql,否则这两个值会改变。

配置从服务器Slave
mysql>change master to master_host='192.168.75.128',master_user='root',master_password='这里是root的密码',master_log_file='mysql-bin.000021',master_log_pos=120;

然后启动
mysql> start slave;

使用下面的命令查看状态
mysql> show slave status\G

看到这两个状态都是Tes才算成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

如果有任意一个状态为no那么查看下面四个显示的错误是什么
Last_IO_Errno: 1593
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:

一些基本错误都可以百度出来,还是比较容易解决的。

看到两个YES之后,那么你就可以测试一下主从复制的数据库是否能有用了。
主服务器添加之后从服务器应该会有一条一模一样的记录。

最后需要考虑的点

首先主从mysql的复制,只是在主服务器改了之后,从服务器会做出相应的变动,而从服务器的改动不会影响主服务器。
所以在设计数据库服务器架构的时候就要考虑,实际的情况。
如果你只是用从服务器来备份数据,那么完全可以。
如果你要实现的是读写分离,然后减少读服务器的压力,那么读取可以读从服务器,而且可以多弄几台服务器作为从服务器。
如果你需要两台服务器都可以互相复制,那么两台服务器需要互相做主从。
还有一些架构就要看具体情况了,网上有很多可以用的架构。

如果要复制特定的数据库,修改my.cnf

binlog-do-db=要复制的数据库名字
binlog-ignore-db=不要复制的数据库名字,mysql,test

参考的网站

一个是高性能mysql的一些摘录
http://blog.csdn.net/hguisu/article/details/7325124/
一个是简单的配置记录
http://369369.blog.51cto.com/319630/790921/

mysql主从复制的配置总结的更多相关文章

  1. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

  2. mysql主从复制安装配置

    mysql主从复制安装配置 基础设置准备 #操作系统: centos6.5 #mysql版本: 5.7 #两台虚拟机: node1:192.168.182.111(主) node2:192.168.1 ...

  3. 记一次 mysql主从复制安装配置 过程

    mysql主从复制安装配置 1.centos安装及准备 去centos官网下载相应source版本的镜像文件并在vmware中安装,安装中会遇到填写installation source,输入以下即可 ...

  4. MySQL主从复制的配置

    环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205     主机名:edu-m ...

  5. MYSQL主从复制制作配置方案

    1. 主从复制机器配置 操作系统:centos7 x64 基于vagrant下的virtual box的虚拟机两台 master ip:192.168.21.11, slave ip 192.168. ...

  6. Mysql学习总结(43)——MySQL主从复制详细配置

    环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205 主机名:edu-mysql ...

  7. mysql主从复制简单配置,满满的干货

    mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改 ...

  8. Linux MySQL主从复制(Replication)配置

    MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...

  9. mysql主从复制 主从配置(windows系统上)

    OS:Windows7 DB:MYSQL5.6.2 1.正常安装第一个mysql(安装步骤省略)  2.在控制面板里停止第一个mysql服务  3.将C:\Program Files\MySQL目录下 ...

  10. Mysql主从复制的配置(双机互为主从)

    目的: 让两台mysql服务器可以互为主从提供同步服务. 优点: 1. mysql的主从复制的主要优点是同步"备份", 在从机上的数据库就相当于一个(基本实时)备份库. 2. 在主 ...

随机推荐

  1. x264宏块及子块划分方式

    1 宏块划分方式 一副图像(帧,非场图像,x264支持宏块级场编码,这里以帧图像为例说明)按从左到右.从上到下16x16的方式划分宏块,对于图像宽度不是16的倍数的情况,会扩展至16的倍数,然后通过s ...

  2. 第一篇,jos

    关于jos环,使用递推公式简化问题和代码,关键在于找到正确的递推公式,可使用一个例子来寻找. (数学能力较差,只好打个表找规律了) 为方便取余运算,将编号1---n的下标表示为0--(n-1)     ...

  3. centos解压bz2文件出错

    出现的问题: 用tar 解压 tar.bz2文件出错 debian:/usr/src# tar jxf linux-2.6.26.tar.bz2tar: bzip2: Cannot exec: No ...

  4. File对象的常用方法

    File对象不仅可以表示文件,还可以表示目录,源码注释是这么说的:An abstract representation of file and directory pathnames. File类最常 ...

  5. java 中递归的实现 以及利用递归方法实现汉诺塔

    今天说下java语言中比较常见的一种方法,递归方法. 递归的定义 简单来说递归的方法就是"自己调用自己",通过递归方法往往可以将一个大问题简单化,最终压缩到一个易于处理的程度.对于 ...

  6. Linux 下Tomcat启动Cannot find ./catalina.sh

    [root@localhost bin]# ./shutdown.sh shCannot find ./catalina.shThis file is needed to run this progr ...

  7. jquery实现图片漂浮效果

    $(window).load(function(){   function moveRocket(){   $("#float").animate({'left':'+=100'} ...

  8. 第14天dbutils与案例

    第14天dbutils与案例 第14天dbutils与案例    1 1.    1.dbutils介绍    2 2.    2.dbutils快速入门    2 3.    3.dbutils A ...

  9. noip2015Day2T2-子串

    题目描述 Description 有两个仅包含小写英文字母的字符串A和B.现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串,请问 ...

  10. 数据库 Mysql内容补充一

    mysql时间函数 --获取当前日期 select current_date(); --获取当前时间 select current_time(); --获取当前的日期和时间 select now(); ...