以mysql5.7版本数据库为例:
 master ip: 192.168.10.5

slave ip: 192.168.10.6

一、 Master 上的配置:

1.修改mysql数据库配置文件my.ini,存放路径一般在C:\ProgramData\MySQL\MySQL Server 5.7,(C盘中ProgramData目录默认隐藏),自定义路径的例外。修改内容:

# master服务唯一标识
server-id = 1
# 二进制同步数据文件
log-bin = mysql-bin (mysql-bin自定义)

#binlog_do_db 指定记录二进制日志的数据库,即需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可。
binlog-do-db = testDB(test是你要同步的数据库,多个数据库请重复设置binlog-do-db )

配置完,重启mysql服务

2.登录mysql数据库 为主从同步新建一个用户,并赋予主从同步授权

create user 'backup'@'192.168.10.6' identified by '123456';

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

flush privileges;

二、 Slave 上的配置:

1.修改my.ini配置文件

server-id=2  #不能和master一样
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

#relay-log 启动MySQL二进制日志,可以用来做数据备份和崩溃恢复,或主服务器挂掉了,将此从服务器作为其他从服务器的主服务器。
#replicate-do-db 指定同步的数据库,如果复制多个数据库,重复设置这个选项即可。若在master端不指定binlog-do-db,则在slave端可用replication-do-db来过滤。
#replicate-ignore-db 不需要同步的数据库,如果有多个数据库,重复设置这个选项即可。

配置完成后重启mysql服务

2.先停止slave

stop slave;

3.在master上执行

show master status;

mysql 数据库主从数据不一致 mysql主从数据库配置_mysql

记录File和Position;

4.在slave上执行一下sql,MASTER_LOG_FILE=主数据File,MASTER_LOG_POS=主数据库Postition;

change MASTER to MASTER_HOST='master 的ip',MASTER_PORT=3306,MASTER_USER='backup',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=49213;

执行成功后,

start slave;

查看slave状态 

show slave status \G

mysql 数据库主从数据不一致 mysql主从数据库配置_数据库_02

二者均为YES表示主从配置成功。

验证一下,在master上同步的数据库新建一个表,看slave库中是否有该表。

##其他情况:

1.如果主库已有数据的情况新增从库,在以上stop slave;步骤之后,

2.master上停止mysql服务(如果不能停服,请执行一下语句)

3.锁定所有表:flush tables with read lock;(此时数据库处于只读状态)

4.查看状态:show master status; 记录File和Position

5.将master上的data目录下要同步数据库文件夹拷贝到slave的data目录中,master上ibdata1文件也拷过去,覆盖注意备份一下

6.从库执行,注意替换第四步记录的File和Position

change MASTER to MASTER_HOST='master 的ip',MASTER_PORT=3306,MASTER_USER='backup',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=49213;

7.start slave;

8.show slave status;状态是否正常

9.解锁master上的表:unlock tables;

10.验证

 

问题:

配置过程中我遇到一个问题;

Slave_SQL_Running为NO

mysql 数据库主从数据不一致 mysql主从数据库配置_数据库_03

mysql 数据库主从数据不一致 mysql主从数据库配置_mysql 数据库主从数据不一致_04

有个表记录报错,我这里在my.ini配置文件里加slave-skip-errors直接错误跳过了,然后就好了。

mysql 数据库主从数据不一致 mysql主从数据库配置_服务器_05

以上就是我的配置过程,希望对你有帮助。