主服务器配置:
1)登陆MySQL数据库
mysql>mysql -uroot -p123
2)给从服务器设置授权用户
mysql>grant all slave on *.* to user1@192.168.10.2 identified by "123";
mysql>grant replication slave on *.* user1@192.168.10.2 identified by "123";
3)修改主数据库服务器的配置文件my.cnf,开 启binlog,并设置server-id的值
log-bin=mysql-bin
server-id=1
4)在主服务器上设置读锁定有效,确保没有数据库操作,以便获得一个一致性的快照
mysql>flush tables with read lock;
mysql>mysqldump test.user -l -F > /tmp/user.sql(推荐这种)
5)查看主服务器上当前的二进制日志名和偏移量值
mysql>show master status;
6)目前主数据库服务器已经停止了更新操作,生成主数据库的备份,备份的方式有两种:
1.cp全部的数据
2.mysqldump备份数据方法
如果主数据库的服务可以停止,那么直接cp数据文件应该是最快的生成快照的方法
7)主数据库备份完毕后,主数据库可以恢复写操作,剩下的操作只需要在从服务器上去执行
mysql>unlock tables;
8)把主数据库的一致性备份恢复到从数据库上,把以上的压缩包解压后放到相应的目录即可。
 
从服务器配置:
1)修改从数据库的server-id,注意server-id的值必须是唯一的,不能和主数据库的配置相同,如果有多个从服务器,每个从服务器必须有自己唯一的server-id值。
连接主服务器:
(1)在从服务器上的配置文件中:
server-id=2
master-host=192.168.10.1
master-user=user1
master-password=123
master-port=3306
log-bin=mysql-bin
#replicate-do-db=test
#replicate-do-table=test.t1
(2)重新启动MySQLd服务:
pkill mysqld
/usr/local/mysql/bin/mysqld_safe --user=mysql &
(3)查看相应的主从复制进程列表有两种:
1.processlist
mysql>show processlist \G;
如果出现:
state:waiting for master to send event
//连接主数据库为成功,而且成功获取bin-log
state:has read all ready log;waiting for the slave i/o thread to update it
//成功执行bin-log日志,正在等待着去再次连接主数据库并更新获取bin-log日志
 
2.status
mysql>show slave status\G;
如出现:
slave_IO_running:YES
//此进程负责从服务器从主服务器上读取binlog日志,并写入从服务器上的中继日志中。
slave_SQL_running:YES
//此进程负责读取并且执行中继日志中的binlog日志,
#注以上两个都为YES则表明成功,只要其中一个进程的状态是no,则表示复制进程停止,错误原因可以从“last_error”字段的值中看到。
 
(4)从数据库常用命令:
1.start slave
#启动复制进程
2.stop slave
#停止复制进程
3.show slave status
#查看从数据库状态
4.show master logs
#查看主数据库bin-log日志
5.change master to
#动态改变主服务器的配置
6.show processlist
#查看从数据库运行进程
 
MySQL常见错误
从数据库无法同步:
show slave status显示slave_SQL_running为
No,Seconds_Behind_Master为null
原因:
a.程序可能在slave上进行了写操作
b.也可能是slave机器重启后,事务回滚造成的
解决:方法一
mysql>slave stop;
mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql>slave start;
 
解决:方法二
slave库,mysql>slave stop;--停掉slave服务
master库,mysql>show master status;
得到主服务器上当前的二进制日志名和偏移量
 
查看状态,然后到slave服务器上执行手动同步
mysql>change master to
master_host="192.168.10.1",
master_user="user1",
master_password='123',
master_port=3306,
master_log_file="mysql-bin.0000003",
master_log_pos=98;
启动slave服务,
mysql>slave start;
通过show slave status查看slave_SQL_running为
YES,Seconds_Behind_Master为0即为正常
 
 

mysql主从配置步骤的更多相关文章

  1. Mysql主从配置步骤与各种错误

    测试环境: 2台腾讯云服务器.CentOS 7.2 64位,1G,lnmp. PHP:5.6:Mysql:5.5 两台干净的服务器 下面开始配置主服务器(master) 1.修改配置:  log-bi ...

  2. MySQL 主主同步配置和主从配置步骤

    ★预备知识 : 1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服 ...

  3. CentOS 7下的 Mysql 主从配置

    最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...

  4. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  5. mysql 主从搭建步骤

    mysql 主从搭建步骤 1:主库开启master端bin-log 2:主库创建备份用户 3:主库全备 4:从库导入全备数据 5:从库修改change master to信息 6:从库slave st ...

  6. mysql主从配置(清晰的思路)

    mysql主从配置.鄙人是在如下环境测试的: 主数据库所在的操作系统:win7 主数据库的版本:5.0 主数据库的ip地址:192.168.1.111 从数据库所在的操作系统:linux 从数据的版本 ...

  7. 黄聪:mysql主从配置(清晰的思路)

    mysql主从配置.鄙人是在如下环境测试的: 主数据库所在的操作系统:win7 主数据库的版本:5.0 主数据库的ip地址:192.168.1.111 从数据库所在的操作系统:linux 从数据的版本 ...

  8. linux系统mysql主从配置

    一.原理 mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到slave; 3) slave有一个I/O线程把mast ...

  9. mysql主从配置和galera集群

    mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...

随机推荐

  1. 19.Java基础_封装概念

  2. day3_7.1

    1.python的注释 python中为了使代码更容易被人看懂,提高团队开发效率,可使用注释.代码中的注释不加入编译中. 注释有单行注释,如 #这是一段注释 和多行注释: ''' 这是一行注释 ''' ...

  3. LG4051/BZOJ1031 「JSOI2007」字符加密 后缀数组

    问题描述 BZOJ1031 LG4051 题解 发现这是一个环,根据经验,破环为链,于是字符环变为了字符串 之后对这个复制之后的字符串求后缀数组. $len$代表原字符串长度,代表复制后的字符串长度 ...

  4. mysql group by 的用法解析

    1. group by的常规用法 group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤. 聚合函数max se ...

  5. vue使用--Jquery引入

      为什么要引入jquery? vue中一般不需要使用jquery,但当我们需要使用的某个插件没有vue的版本且又使用了jquery,那我们就需要引入jquery了 安装.配置与使用   ①insta ...

  6. Windows 防火墙无法更改某些设置错误代码 0x80070422

    Windows 防火墙无法更改某些设置错误代码 0x80070422 解决方法: 1.cmd ->services.msc 按下回车键打开服务 :   2.在服务界面双击打开[Windows F ...

  7. 【Java面试题】short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

    昨天去面试,虽然体验不是很好, 但是看到了这个面试题,当时感觉无从下手,所以在这里记录一下. 解决这道题之前,先复习一下Java的基本数据类型转换规则,以便后面对面试题的理解. java的基本数据类型 ...

  8. Java8新特性——Optional类的使用(有效的避免空指针异常)

    OPtional类的使用 概述 到目前为止,臭名昭著的空指针异常是导致Java应用程序失败的最常见原因.以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guav ...

  9. MySQL for OPS 08:MHA 高可用

    写在前面的话 主从架构在一般情况下只能满足我们小公司业务并非一刻都不能中断服务.但是对于大型公司而言,对然数据丢失,数据库挂了,我们可以通过技术找回,修复.但是其中修复过程所消耗的时间是不被允许的.此 ...

  10. "初识".Net Winfom

    对于“初识”Winform中 初识这两个字的涵义,实际上之前我一直接触的是B/S方面的知识和开发,虽然说不上是熟练,但是大部分时间都是花在B/S上了,例如MVC,如今要从B/S转到C/S了,说实话心里 ...