mysql主从同步

(一)、环境描述 mysql

  服务器A(主) 192.168.3.4(linux mint 14 and mysql5.5.29)
  服务器B(从) 192.168.3.5(windows xp and mysql5.5.19)
  主从需同步的数据库内容保持一致。说明:从数据库里面要同步的库必须和主数据库里一直,好比主数据库里面有一个app_database库,从数据库里面也应该有app_database库,里面的表也须一致。这里仅同步数据,不一样步结构。 linux

(二)、主从配置过程 web

     对主服务器进行配置,即对A服务器进行配置 sql

  1. 建立同步用户,在主服务器上为从服务器创建一个链接账户,该账户必须授予REPLICAITON SLAVE权限。在主服务器登录mysql上执行
    grant replication slave on *.* to 'replication'@'192.168.3.%' identified by '123456';
    flush privileges;
  2. 修改主服务器上面mysql的配置文件my.cnf
    server-id		= 1
    log_bin			= /var/log/mysql/mysql-bin.log
    expire_logs_days	= 10
    max_binlog_size         = 100M
    binlog_do_db		= web_site #要同步的库,多个能够复制一行
    binlog_ignore_db	= information_schema
    binlog_ignore_db	= performance_schema
    binlog_ignore_db	= mysql
    binlog_ignore_db	= test
  3. 重启主服务器上面的mysql数据库
    sudo /etc/init.d/mysql restart
  4. 查看主服务器的状态
     mysql> show master status\G;
    能够看到下列信息便可,注意下列File及Position将在从服务器配置时用到
    *************************** 1. row ***************************
                File: mysql-bin.000003
            Position: 5917
        Binlog_Do_DB: web_site
    Binlog_Ignore_DB: information_schema,performance_schema,mysql,test
    1 row in set (0.00 sec)

     对从服务器进行配置,即对B服务器进行配置 shell

  1. 修改从服务器的mysq配置文件my.ini,以下
    [mysqld]
    server-id = 2
    log-bin = mysql-bin
    replicate-do-db = web_site
  2. 重启从服务器mysql
  3. 用change master语句指定同步位置
    mysql>change master to master_host='192.168.3.4', master_user='replication', master_password='000000', master_log_file='mysql-bin.000003', master_log_pos=107;
    
    注:master_log_file,master_log_pos由上面主服务器查出的状态值中肯定。master_log_file对应File,master_log_pos对应Position。
  4. 启动从服务器线程,在从服务器登录mysql,执行以下:
    mysql>start slave;
  5. 查看从服务器状态在从服务器登录mysql,执行以下:
    mysql>show slave status\G;
    
    看到以下信息便可:
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    接下来就是测试了 数据库

    能够在主服务器里插入数据,看是否同步从数据库里面。 windows

相关文章
相关标签/搜索