zoukankan      html  css  js  c++  java
  • 主从配置过程

    • 主从配置过程
    主节点 (192.168.23.10)
    (1)编译配置文件,启动二进制日志 ,为当前节点设置一个全局唯一的id号
    编辑/etc/my.cnf,添加如下信息
    log_bin=/data/binlog/master-bin (一定要让mysql用户对/data/binlog有读写权限)
    server_id = 1
    innodb_file_per_table=on
    skip_name_resolve=on
    (2)创建一个有复制权限的用户账号
    grant replication slave,replication client on *.* to repluser@'192.168.23.%' identified by '123456';
    flush privileges;
     
     
    从节点 (192.168.23.11)
    (1)编辑配置文件/etc/my.cnf启动中继日志, 设置一个全局唯一的id号
    relay_log = relay-log
    relay_log_index=relay-log.index
    server_id = 2
    innodb_file_per_table=on
    skip_name_resolve=on
     
    (2)使用有复制权限的用户账号连接至主服务器,并启动复制线程
    change master to master_host = '192.168.23.10',master_user = 'repluser',master_password = '123456',master_log_file = 'master-bin.000005',master_log_pos = 245;
    show slave statusG : 查看slave节点的信息
    start slave; :指明启动I/O线程和SQL线程
    • 注意点
    问:如果主节点已经运行了一段时间,且有大量的数据,如何启动slave节点
     
    答:如果主服务器已近启动了一段时间了,那么这个时间点之前的数据使用完全备份到从服务器,并且记录备份的position,因此再从主节点新的二进制文件开始做主从同步
    • 复制架构中应该注意的问题
    1: 从服务器为只读模式,不能写
    第一种方案:在从服务器上设置:read_only = ON,此限制对root用户无效
    第二种方案:阻止所有的用户,给表加锁
    flush tables with read lock;
    # master_info记录了主节点的信息,这就是为什么重新启动MySQL的时候会自动连接复制功能
    sync_master_info = 1
    2:如何保证主从复制的事务安全
    1)在master节点启用参数
    sync_binlog = ON :提交之后内存中的事务立马写到磁盘上
    如果用到的为InnoDB存储引擎
    innodb_flush_logs_at_trx_commit = ON :将内存中的事务日志写在磁盘上
    innodb_support_xa = ON : 是否支持分布式事务
     
    2)在slave节点
    skip_slave_start = ON : 指定手动启动复制功能,不要自动启动复制功能
    sync_relay_log = 1;
    sync_relay_log_info = 1;
  • 相关阅读:
    linux-vi/vim
    Linux性能监控-ss
    Linux性能监控-netstat
    Linux性能监控-sar
    Linux性能监控-htop
    Linux性能监控-pstree
    Linux性能监控-ps
    查看linux占用内存/CPU最多的进程
    Linux性能监控-top
    Linux-cpu-socket/core/processor
  • 原文地址:https://www.cnblogs.com/liu1026/p/7467733.html
Copyright © 2011-2022 走看看