首页 > 代码库 > mysql 主从配置

mysql 主从配置

我是在虚拟机测试的,提前准备两个虚拟机分别设置ip为:

master:192.168.90.222

slave:192.168.90.221

master服务器配置

首先修改master的数据配置文件在[mysqld]下添加如下代码:

server-id = 222    #配置的是服务器的id,id不能喝别的重复log-bin = mysql-bin  #开启mysql二进制日志bin-log-do-db = test  #需要备份的数据库,如有多项在写一行

master 的数据库配置文件修改好了之后在添加mysql用户,供slave服务器链接使用,sql如下:

grant replication slave on *.* to backup@192.168.90.221 identified by 123456;

#backup 是用户名,192.168.90.221 是slave的ip地址;123456 是密码

重启mysql让配置生效!

slave服务器配置

修改slave数据库配置文件添加如下配置:

server-id = 221 # 从服务器idmaster-host = 192.168.90.222 #master 数据库地址master-port = 3306 #master数据端口号master-user = backup #master 用户名master-password = 123456 #master 数据库密码replicate-do-db = test #需要做复制的数据库replicate-ignore-table = test.t1 #跳过的表,此表不复制slave-skip-errors = 1032,1062,125 #自动跳过的错误代码,以防止复制出错被中断

执行下面sql语句,建立于master的链接:

change master to master_host=192.168.90.222,master_user=backup,master_password=123456,master_log_file=mysql-bin.000003,master_log_pos=106;

master_log_file 和 master_log_pos的值通过在master数据库命令行中执行 show master status \G; 来查看

 在slave数据库执行 start slave; 启动从链接

然后执行 show slave status \G;查看slave的状态如果发现

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

这两项位yes,则说明配置成功!

另外在主从复制的时候必须保证两个数据库一致!!!