• mysql主从同步设置


    主机设置
    /etc/my.cnf

    #ID 必须唯一
    server-id=1
    ##二进制文件名称前缀,生成的文件mysql-bin.000001,mysql-bin.000002
    log-bin=mysql-bin
    ##记录目前有哪些mysql-bin文件 SHOW MASTER STATUS;
    log-bin-index=master-bin.index
    ##有更新是否立即同步到日志,性能会低,但不会丢数据。
    innodb_flush_log_at_trx_commit=1
    sync_binlog=1
    ##二进制日志自动删除的天数。默认值为0,表示“没有自动删除”
    expire_logs_days=10
    ##二进制文件大小,操作大小生成新文件存储(最小4096byte最大1073741824(1G)默认
    max_binlog_size=1073741824
    ##同步哪些数据库
    binlog-do-db=kintech_crm
    binlog-do-db=kintech_eq
    binlog-do-db=kintech_pd
    binlog-do-db=kintech_sys

    #二进制复制方式
    binlog_format=ROW
    #控制当服务器无法写入二进制日志时发生的情况,这可能导致主服务器日志变得不一致,从服务器会失去同步。
    #IGNORE_ERROR忽略错误继续进行,ABORT_SERVER当发生错误不能写入二进制日志时,停止日志并关闭服务。
    binlog_error_action=ABORT_SERVER

    ##下面配置不是必须的
    ##数据库编码
    character-set-server=utf8
    ##忽略表ming大小写
    lower_case_table_names=1
    ##开启慢查询日志,超过10秒则记录到日志
    slow_query_log=1
    long_query_time=10.000000
    ##默认值:128M 专用MySQL服务器设置的大小: 操作系统内存的70%-80%最佳。
    ##并不是设置的越大越好。设置的过大,会导致system的swap空间被占用,导致操作系统变慢,从而减低sql查询的效率。
    innodb_buffer_pool_size=500M

    创建用户
    grant replication slave on *.* to repl@'%' identified by 'repl123@';
    flush privileges;

    备份数据
    mysqldump -u root -p --databases mytest --master-data > dbdump.db

    --master-data 这个参数比较重要
    1:首先在备份之前它会调用 FLUSH TABLES WITH READ LOCK 锁住数据库,数据库就不能进行写操作了。
    2:它会在备份文件最上面记录 CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154,红色的可能与你测试的不一样。
    它记录了master服务器二进制日志的文件名与位置,也就是当前数据截止的位置,这样当slave启动以后,就从这个点开始复制数据。
    3:然后备份数据到文件。
    4:最后释放锁 UNLOCK TABLES;

    将数据导入从机
    scp /var/lib/mysql/dbdump.db root@192.168.80.120:/home/mysqldata/

    重启主机
    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;(mysql-bin.000002 154)
    UNLOCK TABLES;


    修改从机
    my.ini

    #唯一ID
    server-id=2
    #中继日志
    relay-log=slave-relay-bin
    relay-log-index=slave-relay-bin.index
    #二进制日志自动删除的天数。默认值为0,表示“没有自动删除”
    expire_logs_days=10
    relay_log_recovery=ON
    relay_log_info_repository=TABLE

    重启
    CHANGE MASTER TO
    MASTER_HOST='101.200.50.31',
    MASTER_USER='repl',
    MASTER_PASSWORD='repl123@',
    MASTER_LOG_FILE='mysql-bin.000007',
    MASTER_LOG_POS=154;

    mysql> START SLAVE;
    mysql> show slave status;

  • 相关阅读:
    操作系统复习
    软件工程复习
    2020字节跳动校园招聘算法方向第二场考试题解(部分)
    【牛客】用两个栈来实现一个队列
    LeetCode 62. 不同路径
    LeetCode 79. 单词搜索
    LeetCode 113. 路径总和 II
    LeetCode 389. 找不同
    【牛客】矩阵交换
    【牛客】KiKi学习了结构体和指针
  • 原文地址:https://www.cnblogs.com/cghhnty/p/8311481.html
Copyright © 2020-2023  润新知