mysql主从同步设置

在主机的my.cnf中的mysqld模块下添加

log-bin=mysql-bin

server-id=1(随便,只要和slave不一样就行,一般可用IP末尾)

在从机的mysqld模块下添加server-id

重启mysql后,在主机mysql中创建用来同步数据的账号

grant replication slave on *.* to 'replication'@'%' identified by 'replication';

flush  privileges;

记录主机信息

在这之前可以先锁表

flush tables with read lock;

记录主库信息

show master status;

记录下FilePosition

在从机中配置同步参数,登录到mysql

master_log_filemaster_log_pos:主机中查看的服务器状态

change master to

master_host='192.168.0.254',

master_port=3306,

master_user='replication',

master_password='replication',

master_log_file='mysql-bin.000010',

master_log_pos=5087;

master_host:主服务器的IP地址

master_port:主服务器的mysql端口(使用netstat -lntup查看,多为3306

master_user:之前创建的用来同步的账号

master_password:之前创建的用来同步的密码

从机启动

start slave;

查看同步状态

show slave status G

确保这两个状态为Yes则表示配置成功

主机解锁

unlock  tables;

Mysql服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。

原文地址:https://www.cnblogs.com/delete31/p/13559393.html