mysql的复制技术

在mysql里面建立最基本的复制,可以总结为以下三个步骤:

1. 配置一个服务器作为Master;

2. 配置一个服务器作为Slave;

3. 将Slave连接到Master.


配置Master:

1. my.cnf中参数的配置

  将服务器配置为Master。要确保该服务器有一个活动的二进制日志(binary log) 和唯一的服务器ID.

 a. 要是Master上面的日志没有删除过的话,二进制日志记录了Master上面的所有改变,这些日志在Slave上面重新执行就好了。

 b. 服务器ID用于区分服务器


创建二进制日志和服务器ID 都是在my.cnf里面设置的

其他的参数在这里就不展示了

   log-bin  =               master_bin

   log-bin-index  =    master-bin.index

  server-id   =           1

log-bin选项 给出了二进制日志产生的所有文件的基本名(默认值是 主机名-bin);log-bin-index选项给出了二进制索引文件的文件名,大家都知道这个是所有二进制文件的列表。

每一个服务器都有一个唯一的 server-id 

就按照上面的配置 重启服务 mysqld service restart  使得参数生效。


2.在master上面创建复制用户  并且赋予权限

  例如:

create user reply_user;

grant reolication slave on *.* to reply_user identified by 'mypassword';


配置Slave

1. my.cnf中参数的配置

    relay-log-index   =  slave-replay-bin.index

    relay-log      =  slave-relay-bin

    server-id   =  2

  relay-log-index 选项是中继日志索引文件 ,relay-log选项是中继日志文件名。

重启服务  使得参数生效。


连接Master和Slave

首先找到Master的服务器信息  1.主机名  2.端口号(master的 my.cnf里面有) 3.Master上拥有replication slave 权限的账号和密码 (比如我们刚才建立的reply_user)

在slave上面执行建立连接的语句:


change master to

master_host = 'master_hostname',

master_port = 3306,

master_user = 'reply_user',

master_password = 'mypassword';


-- 启动复制

start slave ;

-- 查看复制的状态

show slave status\G;





你可能感兴趣的:(mysql的复制技术)