构建主从同步
(1)(修改配置文件)启用binlog日志 并重启 (主操作)
vim /etc/my.conf //主配置文件
log_bin=日志名 //启动binlog日志
server_id=id值 //指定服务器ID号
grant replication slave on . to 用户@"%" identified by “密码”; //创建同步用户
show master status\G; //查看日志信息
(2)配置从服务器(从操作)
修改配置文件my.cnf
server_id=指定ID号 //指定服务器ID
(3)//主库备份数据
–master-data //记录当前备份数据对应的日志信息
mysqldump -uroot -p密码 --master-data 数据库名 > /目录.sql
(4)从服务器恢复数据
mysql -uroot -p密码 数据库名 < /目录.sql
vim /目录.sql //查看binlog日志名及偏移量
(5)指定主服务器信息 (从操作)
change master to
->master_host=“id”, //主库ip地址
->master_user=“用户”, //主库授权用户
->master_password=“密码”, //主库授权用户密码
->master_log_file=“日志文件名”, //主库日志文件
->master_log_pos=偏移量; //主库日志偏移量
start slave; //启动slave进程
stop slave; //关闭进程
reset slave all; //清除
相关文件,存放在数据库目录下(从)
master.info //主库信息
relay-log.info //中继日志信息
主机名-relay-bin.xxxxxx //中继日志
主机名-relay-bin.index //索引文件
二 一主多从结构(从)
修改配置文件my.cnf
server_id=id号 //指定ID号
启动slave进程 //指定主服务器
start slave; //启动进程
show slave status\G; 检查状态
三 主从从结构
(1)配置主服务器(主操作)
修改主配置文件my.cnf
log-bin=日志名 // 启动binlog日志
server_id=id号 //指定ID号
systemctl restart mysqld //刷新配置文件
grant replication slave on . to 用户名@“从库IP地址” identified by “密码”; //创建同步用户
(2)配置从服务器(从[1]操作)
修改配置文件server_id=id号 //指定id号
log-bin=日志名 //启动binlog日志
log_slave_updates //允许级联复制
systemctl restart mysqld //刷新主配置服务
grant replication slave on . to 用户名@’%’ identified by ‘密码’; //创建同步用户
指定主库信息
change master to
->master_host=“id”, //主库ip地址
->master_user=“用户”, //主库授权用户
->master_password=“密码”, //主库授权用户密码
->master_log_file=“日志文件名”, //主库日志文件
->master_log_pos=偏移量; //主库日志偏移量
start slave, //启动slave进程
show slave status\G; 检查状态
配置从服务器(从[2])
修改配置文件my.cnf
server_id=id号 //指定id号
指定主库信息
->master_host=“id”, //主库ip地址
->master_user=“用户”, //主库授权用户
->master_password=“密码”, //主库授权用户密码
->master_log_file=“日志文件名”, //主库日志文件
->master_log_pos=偏移量; //主库日志偏移量
start slave, //启动slave进程
show slave status\G; 检查状态
三 复制模式
异步复制 全同步复制 半同步复制
(半同步复制)
show variables like “have_dynamic_loading”; //查看是否允许动态加载模