zoukankan      html  css  js  c++  java
  • MySql 多服务器数据库同步

    1). 配置语句说明(基本知识):
    #服务器ID, 每台服务器的ID不能设为相同的数.
    server-id=1

    #启用从库日志,这样可以进行链式复制
    log-slave-updates

    #从库是否只读,0表示可读写,1表示只读
    read-only=1

    #只复制某个表
    replicate-do-table=tablename

    #只复制某些表(可用匹配符)
    replicate-wild-do-table=tablename%

    #只复制某个库
    replicate-do-db=dbname

    #只复制某些库
    replicte-wild-do-db=dbname%

    #不复制某个表
    replicate-ignore-table=tablename

    #不复制某些表
    replicate-wild-ignore-table=tablename%

    #不复制某个库
    replicate-ignore-db=dbname

    #出现错误后忽略,如果不加这个,出现任何错误,同步进程会终止
    slave-skip-errors=all

    sync_binlog =1

    #复制完的sql语句是否立即从中继日志中清除,1表示立即清除
    relay-log-purge=1

    #从服务器主机,用于show slave hosts生成从库清单
    report-host=hostname

    #主服务器主机地址与端口, 用于从服务器连接到主服务器
    master-host=hostname
    master-port=3306

    #主服务器数据库用户名与密码(请赋予复制的权限(slave))
    master-user=dbuser
    master-password=password

    #预设重试间隔时间
    master-connect-retry=60

    #开启数据库日志
    log-bin=mysql-bin.log

    #要同步的数据库的名字
    binlog-do-db=dbname

    #不要同步的数据库的名字
    binlog-ignore-db=dbname

    2).实例配置

    a). A机(master)  ip: 210.21.104.237
    b). B机(slave)     ip: 58.177.114.3

    (所有配置都添加在my.cnf  [mysqld] 配置段下)
    Master : A机配置
    server-id=1
    log-bin=mysql-bin.log
    binlog-do-db=test
    binlog-ignore-db=mysql

    重启mysql
    登陆mysql
    增加同步帐号,最好指定登陆IP:

    #赋予全部权限
    mysql > GRANT all on *.* to 'test'@'58.177.114.3' identified by 'test';
    #只赋予replication权限
    mysql > GRANT replication slave on *.* to 'test'@'58.177.114.3' identified by 'test';
    (注意: 以上赋予权限命令都必须用on *.* 所有库, 否则会报错)
    #刷新
    mysql > FLUSH PRIVILEGES;

    #显示master状态
    mysql > SHOW MASTER STATUS;

    -----------------------------------------------------------------------------
    | File                       | Position | Binlog_Do_DB   | Binlog_Ignore_DB |
    +--------------------+----------+------------------+--------------------+
    | mysql-bin.000001 |          98 | test                   |     mysql              |
    +--------------------+----------+------------------+--------------------+
    如果显示以上信息表示master配置成功, 记下File 和 Position 两栏的数据用于配置slave

    Slave : B机配置
    server-id=2
    master-host=210.21.104.237
    master-port=3306
    master-user=test
    master-password=test
    master-connect-retry=60
    replicate-do-db=test
    replicate-ignore-db=mysql

    重启mysql
    进入数据库

    #停止slave
    mysql > slave stop;

    #配置同步文件的参数
    mysql > CHANGE MASTER TO MASTER_HOST='124.172.241.12',MASTER_USER='3glab_authen',MASTER_PASSWORD='3glab_authen',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=98;

    CHANGE MASTER TO MASTER_HOST='58.177.114.3',MASTER_USER='3glab_authen',MASTER_PASSWORD='3glab_authen',MASTER_LOG_FILE='mysql-bin.000009',MASTER_LOG_POS=98;

    #启动slave
    mysql > START SLAVE;

    mysql> show processlist;
    +----+-------------+-----------+------+------------+-------+---------------------------------------------------------------------------+-------------------+
    | Id | User                | Host         | db     | Command | Time   | State                                                                                                         | Info                     |
    +----+-------------+-----------+------+------------+-------+---------------------------------------------------------------------------+-------------------+
    |  6 | system user    |                  | NULL | Connect    | 57236 | Waiting for master to send event                                                           | NULL                   |
    |  7 | system user    |                  | NULL | Connect    | 31988 | Has read all relay log; waiting for the slave I/O thread to update it    | NULL                   |
    | 58 | root               | localhost  | NULL | Query        |     0     | NULL                                                                                                         | show processlist |
    +----+-------------+-----------+------+------------+-------+---------------------------------------------------------------------------+-------------------+
    3 rows in set (0.00 sec)
    如果显示以上信息就表示同步成功

  • 相关阅读:
    [置顶] windows player,wzplayerV2 for windows
    wzplayer 近期将会支持BlackBerry和WinPhone8
    wzplayerEx for android(真正硬解接口,支持加密的 player)
    ffmpeg for ios 交叉编译 (支持i686 armv7 armv7s) 包含lame支持
    ffmpeg for ios 交叉编译 (支持i686 armv7 armv7s) 包含lame支持
    编译cegcc 0.59.1
    wzplayer 近期将会支持BlackBerry和WinPhone8
    wzplayerEx for android(真正硬解接口,支持加密的 player)
    windows player,wzplayerV2 for windows(20140416)更新
    编译cegcc 0.59.1
  • 原文地址:https://www.cnblogs.com/showblog/p/1788058.html
Copyright © 2011-2022 走看看