zoukankan      html  css  js  c++  java
  • MySQL主主复制、主从复制

    概述

    数据库MySQL1、MySQL2分别在主机A、主机B上,MySQL1新建库D,则MySQL2也新建库D,MySQL1原有库A、B、C,MySQL2也原有库A、B、C。总之MySQL1和MySQL2一样;

    环境

    2台Linux虚拟主机,版本均为centos6.5,对应2个不同的ip地址,这2台虚拟主机均安装有mysql5.6;

    开始构建主从复制

    步骤1:

      切换用户,service iptables stop以暂时关闭防火墙,chkconfig --level 2345 iptables off以永久关防火墙,ifconfig以看ip地址;

      使2个操作系统下的mysql里没有任何数据,自己不创建任何库,自带的库不用管;

      令主机A为主数据库服务器,主机B为从数据库服务器(谁为主无所谓);

      一般Linux下mysql配置文件在/etc/my.cnf;find / -name my.cnf以查找所有名为my.cnf的文件;vim /etc/my.cnf以打开mysql配置文件,在配置文件中加log-bin=mysql-bin,表示已开启二进制日志,必须开启主服务器二进制日志,因为数据的同步实质为其他的mysql数据库服务器将这个数据变更的二进制日志在本机上再执行一遍,配置文件中保证每台主机的server-id不重复;

    步骤2(在master数据库服务器中):

      进入mysql;

      GRANT REPLICATION SLAVE ON *.* TO '主库用户名'@'从库ip地址' IDENTIFIED BY '主库密码';  //创建一个slave主机中可以登录的mysql用户

      FLUSH PRIVILEGES;

      退出mysql;

      service mysql stop;

      service mysql start;

    步骤3(在master数据库服务器中)

      进入mysql;

      show master status;

      停止服务再启动服务;

    步骤4(在slave数据库服务器中)

      进入mysql;

      CHANGE MASTER TO MASTER_HOST='主库ip地址',MASTER_USER='主库用户名',MASTER_PASSWORD='主库密码',

      MASTER_LOG_FILE='mysql-bin.000011',MASTER_LOG_POS=417;

      (在CHANGE MASTER TO之前stop slave;reset slave;)

      START SLAVE;

      SHOW SLAVE STATUSG

      (养成习惯:改配置文件先停掉服务)

    测试主从复制

      进入主的mysql,show databases,进入从的mysql,show databases;

      进入主MySQL,建库,新库名test,再进入从MySQL,看有没有这一新库test;

      关机后,做步骤4,重启slave数据库服务器以重新开启主从复制;

  • 相关阅读:
    Qt音视频开发24-ffmpeg音视频同步
    Qt编写的项目作品34-雷达模拟仿真工具(雨田哥作品)
    Qt编写的项目作品33-斗图神器(雨田哥作品)
    Qt编写的项目作品32-定制化安装包工具(雨田哥作品)
    Qt编写的项目作品31-PDF阅读器(雨田哥作品)
    Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: ......
    com.alibaba.fastjson.JSONException: syntax error, pos 1
    chrome技巧
    pip强制重装
    javascript添加url querystring
  • 原文地址:https://www.cnblogs.com/yyjh/p/10568256.html
Copyright © 2011-2022 走看看