mysql主从复制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwJMlSo2-1607521023261)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201031161313058.png)]

环境说明

  1. 主从服务器最好数据库的版本都一样
  2. windows为主机,配置文件为my.ini
  3. linux 为从机 配置文件为my.cnf

主机配置

在my.ini中的 mysqlId进行一下配置

  1. 主服务器唯一id :server-id=1

  2. 启用二进制日志:log-bin=自己本地的路径/mysqlbin

  3. 【可选】启用错误日志:log-err=自己本地的路径/mysqlerr

  4. 【可选】read-only=0 主机读写都可以

  5. 【可选】binlog-ignore-db=mysql 设置不要复制的数据库(mysql默认有mysql数据库)

  6. 【可选】binlog-do-db=需要复制的主数据库名

从机配置

输入Linux命令

  1. vim etc/my.cnf
  2. server-id=2

保存以后

  1. windows:手动重启数据库

​ Linux:service mysql stop

​ service mysql start

  1. 主机从机关闭防火墙(一般邮件申请开启开放端口)

    windows:手动关闭

    linux:service iptables stop

  2. 主机上建立账户并授权给slave

    数据库的命令行进行以下操作

    grant replication slave on *.* to 'zhangsan'@'192.168.14.167' identified by ‘123456’
    //username :zhangsan
    password :123456
    #测试
    grant replication slave on *.* to 'chen'@'123.57.166.236' identified by '1234'
    
    
    flush privileges;
    
    show master status;
    mysql> show master status;
    +----------------------+----------+--------------+------------------+
    | File                 | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +----------------------+----------+--------------+------------------+
    | mysql_log_bin.000001 |     1715 |              |                  |
    +----------------------+----------+--------------+------------------+
    //记住File和Position值
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZA6q89Qu-1607521023264)(C:\Users\hello\AppData\Roaming\Typora\typora-user-images\image-20201103220440508.png)]

  3. 在Linux从机上配置需要复制的主机

    数据库的命令行进行以下操作

    change master to MASTER_HOST='172.0.0.1Z主机ip',
                        MASTER_USER='chenweibin',
                        MASTER_PASSWORD='1234',
                        MASTER_LOG_FILE='File文件名_bin.000001',
                        MASTER_LOG_POS=Position
    #测试
    

change master to MASTER_HOST=‘192.168.31.136’,
MASTER_USER=‘chen’,
MASTER_PASSWORD=‘1234’,
MASTER_LOG_FILE=‘mysql_log_bin.000003’,
MASTER_LOG_POS=17163;


start slave;

show slave status\G;
//slave-IO_runing 和slave sql running必须同时为yes

stop slave; //linux 停止slave

注:与本机和云数据的同步有什么关系。能否写个程序将重复手动连接的过程自动化

Open Replicator ( http://code.google.com/p/open-replicator/ ) 开源了。Open Replicator是一个用Java编写的MySQL binlog分析程序。Open Replicator 首先连接到MySQL(就像一个普通的MySQL Slave一样),然后接收和分析binlog,最终将分析得出的binlog events以回调的方式通知应用。Open Replicator可以被应用到MySQL数据变化的实时推送,多Master到单Slave的数据同步等多种应用场景。目前的这个最初版本,是笔者用 了大概两周的业余时间开发的。在程序结构上,最主要的设计原则是高性能,低内存占用。Open Replicator目前只支持MySQL5.0及以上版本

Slave的数据同步等多种应用场景。目前的这个最初版本,是笔者用 了大概两周的业余时间开发的。在程序结构上,最主要的设计原则是高性能,低内存占用。Open Replicator目前只支持MySQL5.0及以上版本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值