| 网站镜像:电信 网通 | 加入收藏 | 设为首页

mysql数据同步设置

  • 使用的mysql版本:mysql4.0.X

    master: 192.168.1.102
    slave: 192.168.1.109

    如果是win机子修改c:\winnt\my.ini 如果是linux的机子请修改 /etc/my.cnf

    一、master操作
    1、修改my.ini
    ##############
    server-id=1
    log-bin=c:\mysql\logs\mysql_binary_log
    binlog-do-db=test
    binlog-ignore-db=mysql
    ##############

    说明
    binlog-do-db=test 允许同步的数据库
    binlog-ignore-db=mysql 不允许同步的数据库

    2、然后重启mysql
    c:\mysql\bin\mysql restart 或 /etc/init.d/mysql restart

    3、在master上增加一个同步的用户名
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
    注:
    如果mysql版本在4.0.2以前的版本请用
    mysql> GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';

    4、接下来操作要master上要同步的数据库
    mysql> USE test;
    mysql> FLUSH TABLES WITH READ LOCK; #锁定要同步的test表,然后导出数据结构


    执行如下命令查看master的状态
    mysql> SHOW MASTER STATUS;

    得到如下结果
    Code:
    +----------------------+----------+--------------+------------------+
    | File | Position | Binlog_do_db | Binlog_ignore_db |
    +----------------------+----------+--------------+------------------+
    | mysql_binary_log.025 | 796947 | test | mysql |
    +----------------------+----------+--------------+------------------+
    1 row in set (0.00 sec)


    接下来备份要同步数据库(为导入slave作准备)
    $ mysqldump --opt test > test.sql


    mysql> UNLOCK TABLES; #已做好同步数据库结构导出后,解锁这个表

    二、slave操作
    1、把master里导出的同步数据库结构再导入slave的mysql里
    mysql tes < test.sql

    2、修改slave的my.ini
    ####################
    log-bin=c:\mysql\logs\mysql_binary_log
    server-id=2
    master-host=192.168.1.102
    master-user=backup
    master-password=123456
    master-connect-retry=60
    replicate-do-db=test
    ####################


    说明:
    master-host=192.168.1.102 #master的IP
    master-user=backup #master上作为同步用的用户名
    master-password=123456 #同步用户名的密码
    master-connect-retry=60 #设置同步的时间
    replicate-do-db=test #需要同步的数据库

    3、重新启用mysql
    c:\mysql\bin\mysql restart 或 /etc/init.d/mysql restart

    [1] [2] 下一页