zoukankan      html  css  js  c++  java
  • MySQL集群

    MySQL集群搭建之主从复制:

    主从复制原理:

    从库生成两个线程,一个I/O线程,一个SQL线程;
    i/o线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;
    主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog; 
    SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致;

    mysql主从复制用途
    • 实时灾备,用于故障切换
    • 读写分离,提供查询服务
    • 备份,避免影响业务
     
    主从部署必要条件:
    • 主库开启binlog日志(设置log-bin参数)
    • 主从server-id不同
    • 从库服务器能连通主库

    形式:

    mysql主从复制 灵活
    • 一主一从
    • 主主复制
    • 一主多从---扩展系统读取的性能,因为读是在从库读取的;
    • 多主一从---5.7开始支持
    • 联级复制---

     实践:

    1.主服务配置:

    修改my.conf文件:

    [mysqld]段下添加:

    #启用二进制日志

    log-bin=mysql-bin

    #服务器唯一ID,一般取IP最后一段

    server-id=133

    启动二进制日志:log-bin=mysql-bin

    重启MySQL服务

    service mysql restart

    建立账户并授权slave

    mysql>GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';

    mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456';

    刷新权限:

    mysql> FLUSH PRIVILEGES;

    查看mysql有哪些用户:

    mysql>select user,host from mysql.user;

    第四步:

    查询master的状态:

    mysql> show master status

    从表服务配置:

    修改my.conf文件:

    在【mysqlid】中添加:server-id=134

     删除UUID文件:

    错误处理:

    如果出现此错误:

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

    因为是mysql是克隆的系统所以mysql的uuid是一样的,所以需要修改。

    解决方法:

    删除/var/lib/mysql/auto.cnf文件,重新启动服务。

    配置从服务器:

    mysql>change master to master_host='192.168.25.134',master_port=3306,master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=120 

    注意语句中间不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“120”无单引号(此处的120就是show master status 中看到的position的值,这里的mysql-bin.000001就是file对应的值)。

    启动从服务器复制功能:mysql>start slave

    检查从服务器复制功能:

    mysql> show slave status

    Slave_IO_Running: Yes //此状态必须YES

    Slave_SQL_Running: Yes //此状态必须YES

     主从复制需要两台机器,以上皆在虚拟机上操作,

  • 相关阅读:
    UVa 1151 Buy or Build【最小生成树】
    UVa 216 Getting in Line【枚举排列】
    UVa 729 The Hamming Distance Problem【枚举排列】
    HDU 5214 Movie【贪心】
    HDU 5223 GCD
    POJ 1144 Network【割顶】
    UVa 11025 The broken pedometer【枚举子集】
    HDU 2515 Yanghee 的算术【找规律】
    Java基本语法
    Java环境变量,jdk和jre的区别,面向对象语言编程
  • 原文地址:https://www.cnblogs.com/grow001/p/12142434.html
Copyright © 2011-2022 走看看