MySQL数据库的主从同步配置

来源:互联网 发布:网络销售pos机好做吗? 编辑:程序博客网 时间:2024/05/21 10:38

说到主从,那至少得有两个DB-Server,主的用来写入数据,从的用来读取数据,换句话说就是:读写分离。这里要注意的是:主从同步可以读写分离,也可以读写不分离。配置也很简单,主要是修改MySQL数据库的配置文件(Linux下:my.cnf;Win下:my.ini);主从同步是靠二进制日志来记录增删改操作,所以在配置时记得开启二进制日志项,具体配置如下:

一、配置主服务器:

打开MySQL配置文件my.cnf,修改以下参数项,若没有,自行添加即可。

server-id=1   #记得id不要和同步DB中的重复

log-bin= 二进制文件的位置          #主服务器需打开二进制日志

binlog-do-db=mydata    #需要同步的数据库(这里我用mydata,可以随便写)

binlog-ignore-db=mysql   #需要忽略的数据库(一般忽略mysql数据库)

主服务器创建一用户,该用户必须有 REPLICATION SLAVE 权限


二、配置从服务器:

打开MySQL配置文件my.cnf,修改以下参数项,若没有,自行添加即可。

server-id = 2

replicate-do-db=mydata

进入mysql命令行执行命令

change master to master_host=' 主服务器地址 ', master_user=' 用户名 ',master_password=' 密码 ',

master_port= 端口号 ,MASTER_CONNECT_RETRY=10;

例如:

change master to master_host='192.168.16.6',

master_user='root',master_password='123456',master_port=3306,master_connect_retry=10;

再执行 start slave;

配置完成!

--------------------------------------------------

停止mysql主服务器和从服务器

先启动主服务器  然后再启动从服务器

在从服务器输入命令

show slave status\G;

查看状态:

  Slave_IO_State: Waiting for master to sendevent

                 Master_Host: 192.168.16.6

                 Master_User: slave

                 Master_Port: 3306

                 Connect_Retry: 10

                 Master_Log_File: binlog.000002

                 Read_Master_Log_Pos: 903

                 Relay_Log_File: relaylog.000004

.........

在主服务器上建立数据库数据表后查看从服务器,看是否配置成功