zoukankan      html  css  js  c++  java
  • MySQL主从同步配置

      MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。

      下图为MySQL主从复制工作原理

      MySQL主从复制配置步骤

      一,主修改配置文件开启bin-log

    [mysqld]
    log-bin         = /var/lib/mysql/bin-log
    server-id       = 3307
    

      二,从修改配置文件设置server-id(与主的id不一样)

    [mysqld]
    server-id       = 3308
    

      三,主master备份数据库

     mysqldump -uroot -p123456 -h 192.168.0.12 -P 3307 -A --master-data=1 >backup.sql
    

      -P指定端口

      -A全部备份

      四,从slave备份数据库导入

    mysql -uroot -p123456 -h 192.168.0.12 -P3307 < backup.sql
    

      五,登录主MySQL设置同步用户

    grant replication slave on *.* to repl@'%' identified by 'repl';
    flush privileges; 
    

      六,查看主的bin-log文件以及bin-log的POS位置

    show master status;
    

      七,登录从配置同步

    mysql> stop slave;
    mysql> CHANGE MASTER TO
    -> MASTER_HOST='192.168.0.12',
    -> MASTER_USER='repl',
    -> MASTER_PASSWORD='repl',
    -> MASTER_PORT=3307
    -> MASTER_LOG_FILE='bin-log.000001',
    -> MASTER_LOG_POS=890;
    mysql> start slave;
    

      查看同步状态

    show slave statusG
    

      IO进程为主与从之间的通信进程YES代表正常

      SQL进程为从主同步过来的二进制文件执行进程YES代表正常

      在主上面创建一个测试数据库test

    create database test;
    

      从上面可以查看到

     

      为避免数据不同步现象,生产中可以设置从服务器只读启动,所有写操作在主上面进行

  • 相关阅读:
    怎样打印日志
    log4j(一)
    idea没有subversion问题
    tomcat启动报异常(一)
    HashSet
    spring容器初始化bean和销毁bean之前进行一些操作的定义方法
    MyBatis中$和#的区别
    基本数据类型与引用数据类型
    Access restriction: The method 'CharacterEncoder.encode(byte[])' is not API...
    Object源码
  • 原文地址:https://www.cnblogs.com/minseo/p/8967323.html
Copyright © 2011-2022 走看看