首页 > 代码库 > MySQL 复制

MySQL 复制

第一步:为配置主数据库与备数据库

  主:server_id = 1

        log_bin = E:\mysql_log_bin #复制事实上是二进制文件在备库上的重做,所以要支持二进制文件。

  备:

    server_id =2    #两个数据库的server_id不可以相同

    log_bin = D:\mysql_log_bin #如果备库也要支持担当别的别的备库的主库时就要记录二进制文件。

第二步:在主库上创建复制账号

  grant replication slave ,replication client on *.* to repl_name@‘%‘ identified by ‘passwordA‘;

  #对repl_name@‘%‘的解释

  #  ‘%‘对应mysql 数据库的user表的 host 字段

  #      例如:如果host = localhost 说明它是一个本地用户,只可以从本机登录mysql。

  #              如果 host = 192.168.1.1 说明它只可从192.168.1.1登录mysql

  #              如果 host = % 它可以从任何机器登录mysql

  #复制账户事实上只要有主库上的replication slave 权限,并不一定需要每一端服务器都有replication client 权限

  #赋予它两个权限原因有二

  #  1用来监控和管理复制的账号需要replication client 权限,并且针对这两种目的使用同一账号更加容易

  #  2当把主库同步到备库时,备库也就获得了同样的复制账号与权限。这样就可以方便的转换主备库了

第三步:告诉备库,主库的相关信息

  CHANGE MASTER TO MASTER_HOST=‘10.100.49.4‘, #主机的ip

  MASTER_USER=‘repl‘,                                            #复制账号

  MASTER_PASSWORD=‘p4ssword‘,                          #复制账号的密码

  MASTER_LOG_FILE=‘mysql_56_bin_log.000003‘,      #主库当前的二进制文件名

  MASTER_LOG_POS=0;                                           #从头开始

第四步:

  告诉备库,开始复制

  start slave;

 

MySQL 复制