主服务器配置:
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. docker镜像导入导出备份迁移

    导出: docker save -o centos.tar centos:latest #将centos:latest镜像导出为centos.tar文件 导入: docker load -i cent ...

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

  3. /usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child

    https://www.jb51.net/article/142787.htm gn gn  问题如何解决?????

  4. 线段树set,add基础

    UVA11992 Fast Matrix Operations https://www.luogu.org/problem/UVA11992 此类模板题建议随便打打就行了233....

  5. python 绘制词云图

    1. 先下载并安装nltk包,准备一张简单的图片存入代码所在文件目录,搜集英文停用词表 import nltk nltk.download() 2. 绘制词云图 import re import nu ...

  6. pointNet代码

    介绍 组成 1.PointNet classification network分类网络 part segmentation network 数据集 1.point clouds sampled fro ...

  7. C#获取CPU和内存使用率

    获取内存使用率 方式1: using System; using System.Runtime.InteropServices; namespace ConsoleApp1 { public clas ...

  8. 【洛谷4920】[WC2015] 未来程序(提答题)

    点此看题面 大致题意: 把\(10\)个点的暴力代码和输入数据都给你,让你求出输出数据. 子任务\(1\) 第一个子任务自然是拿来送分用的... 容易发现就是一个快速乘的过程啊. 代码如下: #inc ...

  9. 【shell脚本】打印九九乘法表

    打印九九乘法表 一.seq介绍 seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行控制 语法: [1] seq [选项 ...

  10. oracle使用sequence批量写数据

    本博客是对之前写的博客Oracle批量新增更新数据的补充,oracle的知识真是多,其实要学精任何一门知识都是要花大量时间的,正所谓: 学如逆水行舟,不进则退 先介绍oracle sequence的一 ...