zoukankan      html  css  js  c++  java
  • 数据库主从同步配置

    1、架构规划

    两台主机进行配置,一个放主数据库,另一个放置从数据库
    192.168.209.129 master
    192.168.209.130 slave

    2、修改两个主机的数据库配置,使用的相同的命令

    命令: vi /etc/my.cnf

    master主机

    binlog:主要作用是用于数据库的主从复制及数据的增量恢复-----配置形式log-bin-mysql

    【mysqld】在这个名称下,进行配置
    server-id=1 log-bin=mysql-bin log-slave-updates slave-skip-errors=all

    slave主机

    【mysqld】在这个名称下,进行配置
    server-id=2 log-bin=mysql-bin log-slave-updates slave-skip-errors=all

    示例

    3、重启数据库服务

    systemctl restart mysqld

    4、查看servier_id是否配置生效

      该命令是在数据库中执行,必须进入数据库mysql -uroot -proot

    SHOW VARIABLES like 'server_id'; 

     5、登录master节点执行如下命令

      这个存在的主数据库的主机上,进行查看

    show master status;

    6、登录从节点

      从节点具有slave主机上,输入以下命令,找到主节点

    change master to 
    master_host='192.168.209.129',
    master_user='root',
    master_password='root',
    master_log_file='mysql-bin.000002',
    master_log_pos=155;

    7、开启从节点

    start slave;   开启 
    stop slave;    关闭

    8、查看节点开启状态

    show slave statusG; 
    ************************** 

    1. row ***************************
    Slave_IO_State: Waiting for master to send event Master_Host: 10.15.0.9
    Master_User: root
    Master_Port: 3306 Connect_Retry: 60
    Master_Log_File: mysql-bin.000001
    Read_Master_Log_Pos: 120
    Relay_Log_File: mysqld-relay-bin.000002
    Relay_Log_Pos: 283
    Relay_Master_Log_File: mysql-bin.000001
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    如果输出IO和sql运行都没错,表示配置成功。错一个都表示失败。
    查看日志调整错误
     cat /var/log/mysqld.log 

     错误秘籍

    1、MySQL主从复制,启动slave时报错Slave failed to initialize relay log info structure from the repository

      slave reset执行候做了这样几件事: 
      a、删除slave_master_info ,slave_relay_log_info两个表中数据; 
      b、删除所有relay log文件,并重新创建新的relay log文件; 
      c、不会改变gtid_executed 或者 gtid_purged的值

    解决

    mysql> reset slave; 
    Query OK, 0 rows affected (0.12 sec)
    
    mysql> start slave;
    Query OK, 0 rows affected (0.11 sec)
    2、克隆主机,将数据库的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.

    解决

      a、查看数据目录生成的路径:datadir

      cat /etc/my.cnf

     

      b、编辑auto.cnf中内容:vi auto.cnf

      删除uuid 

     
  • 相关阅读:
    AJAX
    前端上传文件 后端PHP获取文件
    PHP基础语法
    JS错误记录
    JS学习笔记
    python利用xlrd读取excel文件始终报错原因
    安装xlwt和xlrd
    编程菜鸟的日记-Linux无处不在
    编程菜鸟的日记-《软件测试》Ron Patton著-读书笔记
    编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习9
  • 原文地址:https://www.cnblogs.com/HelloM/p/14184049.html
Copyright © 2011-2022 走看看