2022-08-03 linux下mysql主从搭建

问题:前几天mysql的从服务器挂掉了,导致主从关系失效,所以需要在从服务其中重新将主从关系搭建起来。因此整体记录一下主从配置:

操作之前,需要最少搭建两个mysql数据库,搭建步骤可以参照:2022-07-18 使用Mysql安装包方式在linux上安装_FlowWindow的博客-CSDN博客

1.主库操作

(1)修改mysql的配置文件:vim /etc/my.cnf,添加如下配置:

# 开启mysql binlog功能 
log-bin=/usr/local/mysql/log/mysql-bin
# binlog记录内容的方式 
binlog_format=mixed
# 服务的唯一编号(另一个写2)
server-id=1
# 自增长字段从哪个数开始(另一个写2) 
auto_increment_offset=1
# 自增长字段每次递增的量,根据主从机器数量而定
auto_increment_increment=2
#自动清理 3 天前的log文件,可根据需要修改
expire_logs_days=3
#要给从机同步的库(期望全部库同步的情况下不配置此项)
#binlog-do-db=master 
#不给从机同步的库(多个写多行)
#binlog-ignore-db=mysql
#binlog-ignore-db=information_schema

按esc  按:wq 回车  保存并退出

然后 重启mysql

(2)然后创建master的数据库中建立备份账号,在数据库中执行:

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

(3) 查看主服务器上当前的二进制日志名和偏移量值这里的file 和position:

show master status;

2022-08-03 linux下mysql主从搭建_第1张图片 

 这个图需做记录,一会设置从库的时候需要里面的参数

2.从库操作

(1)修改mysql的配置文件:vim /etc/my.cnf,添加如下配置:

log-bin=/usr/local/mysql/log/mysql-bin
binlog_format=mixed
server-id=2
auto_increment_offset=2
auto_increment_increment=2
expire_logs_days=3

保存并退出。

(2)登录从库的mysql 然后依次执行,下面的参数基于刚刚记录下来主库的数值填写。

change master to master_host='16.1.30.40',master_user='sync',master_port=3306,master_password='sync',master_log_file='mysql-bin.000002',master_log_pos=1314;
start slave;
show slave status \G

展示结果中关注这两个参数:             

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

同为Yes就是同步成功了。

3.关于从库挂掉后重新同步数据

当我们环境发生这个问题时,因为晚上生产可以停机,我的做法比较直接,大体步骤是:

40(好机器)  41(坏掉机器) 40和41互为主从,全库同步。

1.将40机器的表数据文件(data目录)直接替换掉41机器的表数据文件(原文件做好备份)。并删除文件下的auto.cnf文件,不然会报错。

2.删除掉data目录relay相关的所有文件。

3.执行主库1-(3)操作,以及2的从库操作。

你可能感兴趣的:(bug天天有,mysql,数据库)