1. 基本要求

    • 两台服务器(windows,linux,mac)

    • 双方mysql版本需一致,如不一致,只要主节点低于从节点

    • 两台服务器防火墙关闭

    • 双方数据库所用的用户,要具有远程访问的权限

  2. 主服务器配置

    • 修改主服务器的MySQL配置文件,window(my.ini),linux(my.cnf)

    #mysql唯一id
    server-id =
    #二进制日志文件,此项为必填项,否则不能同步数据;
    log-bin = "mysql-bin"
    #指定二进制错误文件
    log-error="mysql-error"
    #需要同步的数据库,如果需要同步多个数据库;
    binlog-do-db = demo
    #binlog-do-db = slaveDB1
    #binlog-do-db = slaveDB2
    #不需要同步的数据库
    binlog-ignore-db = mysql
    • 授权给从数据库服务器

    GRANT REPLICATION SLAVE ON *.* to 'root'@'111.111.111.111' identified by '';
    flush privileges;
    • mysql8.0版本授权

    CREATE USER 'root'@'111.111.111.111' IDENTIFIED WITH
    mysql_native_password BY '';
    GRANT REPLICATION SLAVE ON *.* TO 'root'@'222.222.222.222';
    • 重启主服务器

    $ service mysqld restart
    • 查看主服务器BIN日志的信息(执行完之后记录下这两个值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两个值会发生改变)

    $ show master status
  3. 从服务器配置

    • 修改从服务器的MySQL配置文件,window(my.ini),linux(my.cnf),配置server-id 的值,并确保这个ID没有被别的MySQL服务所使用

    server-id=    #默认是1改成2
    log-bin="mysql-bin" #这行本身有
    replicate-do-db=demo #需要同步的数据库
    replicate-ignore-db=mysql #不同步系统数据库
    read_only #设只读权限
    • 启动mysql服务

    • 执行同步sql语句

    change master to
    master_host='111.111.111.111',
    master_user='root',
    master_password='',
    master_log_file='mysql-bin.000001',
    master_log_pos=;
     
    • MASTER_HOST : 设置要连接的主服务器的ip地址

    • MASTER_USER : 设置要连接的主服务器的用户名

    • MASTER_PASSWORD : 设置要连接的主服务器的密码

    • MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称

    • MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置。

    • 启动Slave同步进程

    $ start slave;
  4. 主从同步检查

    • 查看状态

    $ show slave status\G

    其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常

    • 如果之前从服务器启动过需要先停止,再运行

    $ stop slave 

MySQL入门详解(三)---mysql如何进行主从配置的更多相关文章

  1. MySQL入门详解(二)---mysql事务、锁、以及优化

    MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在一个商城系统中,用户执行购买操作,那么用户订单中应该加一条,库存要减一条,如果这两步由于意外只进行了其中一步那么就会发生很大的问题.而事 ...

  2. MySQL系列详解三:MySQL中各类日志详解-技术流ken

    前言 日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 .下面分别对他们进行介绍. 查询日志 1.查看查询日志变 ...

  3. c++操作mysql入门详解

    首先,根据你当前的操作系统,还有开发工具,选择相应的mysql版本.本人选择的环境是win10 + vs2013 需要解决三个问题:1.下载安装mysql服务器,并登录mysql测试一下是否安装成功: ...

  4. Mysql入门详解

    目录 数据库之Mysql 一 .简单了解数据库 二.Mysql的使用 三.多表查询 数据库之Mysql 本篇文章为观看某教学视频后所作个人总结 一 .简单了解数据库 1.1常见关系型数据库 mysql ...

  5. MySQL入门详解(一)---mysql的语言

    MySQL语言分为:DCL(数据库控制语言).DDL(数据库定义语言).DQL(数据库查询语言).DML(数据库操作语言),这一节我们先从mysql的语言开始. DCL:数据库控制语言,用来设置数据库 ...

  6. MySQL Explain详解 查看mysql语句详情

    在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有 ...

  7. Mac下Intellij IDea发布JavaWeb项目 详解三 (为所有Module配置Tomcat Deployment 并测试web 网页 配置Servlet)

    step4 为所有项目配置Deployment 4.1 如图 4.2 [+][Artifact] 4.3 将这里列出的所有内容选中后,点[OK] 4.4 选完是这样,表示,这三个java ee 项目会 ...

  8. Redis快速入门详解

    Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis ...

  9. MySQL 数据类型 详解

    MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...

随机推荐

  1. Redis---基础数据结构

    1.String(字符串) 1.1 概述 字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应 ...

  2. Mac系统安装和卸载brew包管理

    brew 的官网地址  https://brew.sh/ 1.brew的安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercon ...

  3. python学习笔记15-字符串 lsit set truple之间的相互转换

    import string #字符串转list str = 'abcde' list = list(str) #list转字符串 str_convert = ''.join(list) #字符串转se ...

  4. flask开发的CMS管理系统

    Dohoom 详细介绍 Dohoom 基于Python3 Flask +Mysql+ Redis开发的一个Web系统 可用于搭建(开发)个人网站, 企业官网.包含:相册模块,文章模块,小组模块,私信模 ...

  5. 字符串编码C#

    给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”.比如字符串AAAABCCDAA会被编码成4A1B2C1D2A. 输入描述: 每个测试输入包含1个测试用例 每个测试用例 ...

  6. MVC3学习:利用mvc3+ajax实现级联下拉列表框

    本例使用的是EF first code操作数据库. 一.准备数据库 级联下拉列表框,比较经典的就是省市数据表,在Model里同时创建三个类:province.cs.city.cs和dropContex ...

  7. 线程中的定时器Timer类

    Timer 定时器 几分钟之后执行一个任务. 创建了一个定时器相当于开启了一条线程,TimerTask相当于一个线程的任务.内部使用wait/notify机制来实现的. 用法非常的简单  就足以里面的 ...

  8. jdk8-stream-并行流的使用

    使用jdk的stream, 可以非常方便的将串行改为并行 1, 判断是否质数 /** * 将一个stream改成简单的并行 */ @Test public void test1() { // 串行 , ...

  9. java运行时异常与一般异常有何异同?

    转自: http://blog.csdn.net/rainminism/article/details/51208572 Throwable是所有Java程序中错误处理的父类,有两种资类:Error和 ...

  10. mac 入门操作

    1. 打开制定目录 在finder里使用command+shift+g 快捷键可以完成到达某路径的操作选中文件/目录,显示简介可以查看路径 2. home end pageUp pageDown 在苹 ...