zoukankan      html  css  js  c++  java
  • Mysql的主从配置

    一.介绍

    Mysql的主从又叫AB复制。就是两台机器做主以后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步。

    Mysql主从是基于binlog的,主上须开启binlog才能进行主从。

    主从过程大概有三个步骤:

    1)主将更改操作记录到binlog

    2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里中继日志

    3)从根据relaylog里面的sql语句按顺序执行

     

    二.原理

    主服务器上有一个log dump线程,用来和从的I/o线程传递binlog

    从服务器上有两个线程,其中I/o线程用来同步主的binlog并生成

    Relaylog,另外一个sql线程用来吧relaylog里面的sql语句落地

     

    三、在两台机器上安装部署mysql前面都有介绍若是原来有mysql则重新安装或者换个名字

     

           启动主上面的 /etc/init.d/mysqld start(如果没启动就排错,查看mysql.err)

     

    、配置mysql主从同步

     

    1、主配置

     

    基础配置:

    vi  /etc/my.cnf   //增加server-id=130和log_bin=linux1

     

     

    重启mysqld服务: 

    /etc/init.d/mysqld restart

     

     

    备份mysql库(加入环境变量)

    export  PATH=$PATH:/usr/local/mysql/bin/
    mysqldump -uroot mysql> /tmp/mysql.sql

     

     

    创建一个库保存数据 

    mysql -uroot -e “create database kei”

     

    mysql库恢复成新建的库,作为测试数据数据库配置 

    mysql -uroot kei < /tmp/mysql.sql

     

     

    进入数据库

     mysql -uroot

     

     

    创建用作同步数据的用户并赋予权限 

     >grant replication slave on *.* to ‘repl’ @192.168.134.130 identified by ‘123456’;

     

    将表锁住,保持表内数据不变  

    >flush tables with read lock;

     

    显示主机状态  

    >show master status;

     

    2.从配置

    基础配置  编辑配置文件vi  /etc/my.cnf配置server-id=130和主的不一样

     

    重启mysqld服务   

    /etc/init.d/mysqld restart

     

     

    在主上将文件拷贝到从上,并在从上查看文件大小是否一致    

     

    scp /tmp/mysql.sql root@192.168.134.130:/tmp/

     

    创建一个和主一样的库 

     mysql -uroot -e “create batabase sxt ”

     

    将文件内容导入库 数据库配置  

    mysql -uroot kei < /tmp/mysql.sql

     

    进入数据库 

    mysql -uroot   
    
    >stop slave;
    
    > change master to master_host=’’,master_user=’repl’,master_password=’’,master_log_file=’’,master_log_pos=xx;
    
    >change master to master_host=’192.168.134.130’,master_user=’repl’,master_password=’123456’,master_log_file=’linux1.000001’,master_log_pos=698861;
    
    >start slave;
    
    >show slave statusG;

     

    在主上执行解锁表

    >unlock tables;

     

     

    五、主从同步及相关配置参数

     

    主从同步验证:

     

    从服务器上操作并执行命令(防火墙关闭) 

    >show slave statusG;

     

    若出现yes,即表示主从配置正常

     

    主服务器主要配置参数如下:

    binlog-do-db=   //仅同步指定的库
    Binlog-ignore-db= //忽略指定库

     

     

    从服务器主要配置参数如下:

    replicate_do_db=
    replicate_ignore_db=
    replicate_do_table=
    replicate_ignore_table=
    replicate_wild_do_table=   //如test.%,支持通配符%
    replicate_wild_ignore_table=

     

     

    六、测试主从

    1.主服务器上

     

    在主上进入数据库  

    mysql -uroot -p 密码
    >select count(*) from db;
    >truncate table db;   //删表

     

    2.从服务器上

    再从上进入数据库 

    mysql -uroot sxt
    >select count(*) from db;

     

     

     

  • 相关阅读:
    谈谈你对MVC和三层架构的理解?(月薪三万的面试题)
    logic:iterate 遍历
    db2, oracle和sqlserver取前几行的语法
    数据库常用操作语句
    css中em与px的介绍及换算方法
    禁止浏览器缓存
    JavaScript学习笔记(一)
    CSS控制表格隔行变色与鼠标滑过变色
    程序员——好好规划自己的路
    css规范
  • 原文地址:https://www.cnblogs.com/sxt0103/p/14334967.html
Copyright © 2011-2022 走看看