mysql主从数据库同步问题_聊聊MySQL主从数据库同步的那些事儿

本文详细介绍如何在Linux服务器环境下配置MySQL的主从复制。包括修改配置文件启用二进制日志、设置服务器唯一ID、授予远程登录权限、配置从服务器及验证同步效果等关键步骤。

在linux服务器下测试:主(master)服务器IP:219.223.5.105(对应内网IP:192.168.1.75)从(slave)服务器IP:219.223.5.104(对应内网IP:192.168.1.74)一、修改主服务器master[mysqld]log-bin=mysql-bin   //[必须]启用二进制日志server-id=104      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

0c789ec9a1a6e3b24f43fcf01e696851.png二、修改从服务器slave[mysqld]log-bin=mysql-bin   //[必须]启用二进制日志server-id=105      //[必须]服务器唯一ID,默认是1,一般取IP最后一段三、重启两台服务器的mysql104: service mysqld restart;105:service mysqld restart;四、赋予MySQL远程登录权限在主服务器master(104)上操作:mysql -uroot -proot123mysql > GRANT REPLICATION SLAVE ON *.* to ‘mysync’@’%’ identified by ‘password’;mysql > FLUSH privileges;//其中*.*代表所有权限,mysync代表账号,password代表密码,’%’代表所有客户端都可以连接。修改后需要刷新权限。mysql> select user,host,password from mysql.user;

fb36d2d4939248ec92d5917f4e6a812c.pnghost值为%,代表可以是任何客户端。mysql> show master status;

41701eea63b73bd0d62f9a0dc6df9301.png这两个值要记住,在配置slave时,需要使用到。五、配置从服务器mysql > mysql -uroot -proot123;mysql> change master to

-> master_host=’192.168.1.74′,  #主服务器的IP

-> master_user=’mysync’,  #主服务器的连接用户名

-> master_password=’mysync’,    #主服务器的连接密码

-> master_log_file=’mysql-bin.000001′,  #对应上面截图中的File

-> master_log_pos=1743;   #对应上面截图中的Position

5052e1f8110702edc112535014586cdb.png启动从服务器同步进程:Mysql>start slave;   六、检查从服务器功能状态mysql> show slave status\G 如下,Slave_IO_running:Yes          Slave_SQL_running:Yes则代表成功,否则任何其他状态都是失败

312269d9c7c0557f1ba1844af10b8dad.png到这里,主从配置完毕。七、验证主从效果主服务器上的操作

在主服务器上创建数据库xdmysql> create database xd;Query Ok, 1 row affected (0.01 sec)在主服务器上创建表student mysql> create table student (name varchar(256),age int,sex varchar(256));Query Ok, 1 row affected (0.00 sec)在主服务器上的表student 中插入记录mysql> insert into student values(‘wangming’,18,’f’);        insert into student values(‘xiaobai’,20,’m’);Query Ok, 2 row affected (0.00 sec)在从服务器上查看

mysql> show databases;

4a8cc807104ac7c317d22d6c76b1ab16.png查看student表里的数据:

fa242731b56c44cedc0697c2194329e0.png

中间遇到的一些问题:1.如果主从数据库的表结构不一致,会出现问题。

93e43554c171cbfa39ff9e4232f54813.png2.Slave_SQL_Running: No mysql同步故障解决方法具体见下面链接:http://kerry.blog.51cto.com/172631/277414/3.单表同步    在slave服务器配置:    replicate-do-table=xd.student    多张表则配置多个replicate-do-table    复制某些表(可用匹配符)

replicate-wild-do-table=tablename%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值