• mysql 主从同步配置


    使用centos 配置完成mariadb后 验证登录:

    创建用户:

    GRANT ALL PRIVILEGES ON *.* TO xxx@"%" IDENTIFIED BY 'xxx.sr' WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON *.* TO xxx@"localhost" IDENTIFIED BY 'xxx.sr' WITH GRANT OPTION;

    配置主服务器

    编辑主master服务器配置文件/etc/my.cnf

    [mysqld]节点下加入两句话:

    server-id=1         # 表示服务器的ID,此为唯一机器标识。
    log-bin=mysql-bin        # 启用二进制日志;表示开启bin-log日志功能,这样I/O才会将日志复制到从机的rely-log中。
    binlog-do-db=test     # 标识对指定数据库做日志记录,如果对多个数据库做日志记录,需加','分隔。
    binlog-ignore-db=mysql  # 标识不对指定数据库做日志记录

    然后重启服务:systemctl restart mariadb

    登录mysqlmysql –uroot -proot

    mysql>show master status;    #查看MASTER状态(这两个值FilePosition)其中的file就是二进制文件,position记录当前操作sql的步骤数(注意一条sql包含多步,所以不是sql语句的条数)

    一般情况下,第一次显示position的数量是120

    配置从服务器:

    修改/etc/my.cnf增加一行

    log-bin=mysql-bin
    server-id=2
    replicate-do-db = 同步的数据库
    replicate-ignore-db = 非同步的数据库

    然后重启服务器

    systemctl restart mariadb

    通过mysql命令配置同步日志的指向:

     

    mysql>change master to master_host=192.168.41.41’,master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=120;

    master_host        主服务器的IP地址(内网地址)

    master_port        主服务器的PORT端口

    master_log_file    和主服务器show master status中的File字段值相同

    master_log_pos        和主服务器show master status中的Position字段值相同

    mysql>start slave;                #stop slave;停止服务,出错时先停止,再重新配置
    mysql>show slave statusG;        #查看SLAVE状态,G结果纵向显示。必须大写,这个命令无法再sqlyog中使用

    如果出现问题:error connecting to master 'root@192.168.41.41:3306' - retry-time: 60 retries: 86400 message: Access denied for user 'root'@'192.168.41.42' (using password: YES)

    建议:

    mysql>stop slave;
    ###更改使用之前创建用户
    mysql>change master to master_host=192.168.41.41’,master_port=3306,master_user='xxx',master_password='xxx.sr',master_log_file='mysql-bin.000001',master_log_pos=120;

    slave_io_running:表示同步日志的io进程

    slave_sql_running:表示执行同步sql命令的进程

    这个2个必须为yes,否则表示配置失败(如果配置失败请检查3306端口是否有对外开放)

    systemctl restart mariadb //重启服务器

    测试: 主服务器创建数据表添加数据 看从数据库是否同步

    主库创建 删除数据库,查看观察日志

    user@localhost [(none)]> show binlog events in 'mysql-bin.000045';
    +------------------+-----+-------------+-----------+-------------+----------------------------------------------+
    | Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                         |
    +------------------+-----+-------------+-----------+-------------+----------------------------------------------+
    | mysql-bin.000045 |   4 | Format_desc |         1 |         245 | Server ver: 5.5.65-MariaDB, Binlog ver: 4    |
    | mysql-bin.000045 | 245 | Query       |         1 |         356 | create database `zhu_demo`character set utf8 |
    | mysql-bin.000045 | 356 | Query       |         1 |         447 | drop database `zhu_demo`                     |
    | mysql-bin.000045 | 447 | Query       |         1 |         558 | create database `zhu_cong`character set utf8 |
    | mysql-bin.000045 | 558 | Query       |         1 |         645 | create database darren                       |
    | mysql-bin.000045 | 645 | Query       |         1 |         732 | drop database `darren`                       |
    +------------------+-----+-------------+-----------+-------------+----------------------------------------------+
    6 rows in set (0.00 sec)
  • 相关阅读:
    Entity Framework 学习 Code First(1)
    CLR via C# 读书笔记 运行时序列化
    Entity Framework 学习 Model First
    轻量级开发工具 SharpDevelop
    bit加载失败
    [Reminder] 影响EMIF16异步读写性能因素
    Field Alert: Initial Voltage Level Setting of CVDD rail power supplies
    PHP函数Imap电子邮件系统函数
    PHP函数PHP选项及相关信息函数
    PHP函数Soap函数
  • 原文地址:https://www.cnblogs.com/l-zl/p/9712116.html
Copyright © 2020-2023  润新知