• 主从搭建原理


    1、在主库建立一个账号,使得从库可以连接

      判断标准:在从库使用mysql -ubackup -p*** -h 主库 ip 地址 -P3306,能够正常连接主库

        grant replication slave on *.* to 'backup'@'%' identified by '***';

    2、对于主库的最基本要求

      1、开启binlog

      2、设置server_id=1

      3binlog_formatrow或者mixed模式

        binlog_rows_query_log_events=on

        log-bin=server

        重启mysqlshow variables like '%...%'; 确认修改生效

    3、在主库做一个备份,最好使用xtrabackup,因为我们需要知道binlog恢复的起点

    4、在从库安装一个和主库完全一致的mysql软件,不需要初始化从库,如果已经初始化,手工删除。

    5、修改从库的配置文件

      必须修改server_id=2和主库不一样

      read_only=1(非all*.*权限的用户,包含至高权限root@localhost

      binlog_format=row

      binlog_rows_query_log_events=on

      log-bin=slave

    6、使用scp -r将主库的备份传递到从库

    7、在从库上执行xtrabackup进行恢复,恢复完成以后,chown -R修改权限

      [root@localhost mysql]# cat xtrabackup_info

        binlog_pos = filename 'mysqlserver.000004', position '995'

    8chown+startup,启动从服务器

    9、建立主从关系

      mysql> Change master to master_host='192.168.10.10',master_port=3306,master_user='backup',master_passwo rd='123456',master_log_file='mysqlserver.000004',master_log_pos=995 master_connect_retry=10;

        change master 的意思是:

          1、主库在哪,使用哪个用户来连接

          2、从哪个位置开始要binlog

    10、在从库上开启从库:

      mysql> Start slave后,从库会建立IO线程去连接主库,主库会启动binlog dump线程,负责读 binlog,把日志推送到从库的relay log里去。

      Binlog dump线程是一个IO繁忙的线程,比较繁忙,是mysqldbinlog这个程序改过来的。

        看是否iosql线程都启动

        从库执行Show processlist,会启动两个线程

      IO线程接收主库的binlog,并写到relay log 里去,

      sql线程,读取relay log,应用relay log

      下面这两种状态说明从库非常闲:

        Statewaiting for master to sent event(等待主库发送事件)

        Stateslave has read all relay log;waiting for the slave I/O thread to update it

        (从库已经读取所有的relay中继日志,正在等待从库IO线程拉取最新的日志来更新中继日志)

    12在主库上执行show processlist

      查看dump线程是否启动

    13从库show slave statusG

      查看iosql线程是否有错误:

        Last_IO_Errno: 0

        Last_IO_Error:

        Last_SQL_Errno: 0

        Last_SQL_Error:

    14、主库上执行dmlddl,确认从库是否会有数据同步过来

  • 相关阅读:
    [记录] web icon 字体
    ruby sass Encoding::CompatibilityError for changes
    [CSS][转载]内层div的margin-top影响外层div
    PHP 有关上传图片时返回HTTP 500错误
    APK downloader
    阿里云CentOS7.2卸载CDH5.12
    CentOS7查询最近修改的文件
    service cloudera-scm-server restart报错 Unable to retrieve remote parcel repository manifest
    CDH安装报错 Monitor-HostMonitor throttling_logger ERROR ntpq: ntpq -np: not synchronized to any server
    CDH5.12安装检查Inspector failed on the following hosts...
  • 原文地址:https://www.cnblogs.com/5945yang/p/10975556.html
Copyright © 2020-2023  润新知