热点新闻
MySql一主一从同步结构配置
2023-07-06 05:50  浏览:320  搜索引擎搜索“富博农业网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在富博农业网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

一、环境准备:

Ip地址 主机名 角色 数据管理员密码 公共配置
192.168.88.50 Host50 Master服务器 123qqq…A 关闭防火墙
禁用selinux
192.168.88.51 Host51 Slave服务器 123qqq…A 关闭防火墙
禁用selinux

二、配置流程:

1、50主机开启binlog日志
2、50主机用户授权
3、50主机查看日志信息
4、51主机配置my.cnf文件
5、51主机配置主服务器信息
6、51主机启动slave进程
7、51主机查看状态信息

三、实操:

第一步:50主机开启binlog日志

  • 修改配置文件my.cnf

[root@host50 ~]# vim /etc/my.cnf [mysqld] server_id=50 # 指定server_id log_bin=master50 # 定义日志名 :wq

  • 重启服务生效配置

[root@host50 ~# systemctl restart mysqld

第二步:50主机用户授权

# 进入mysql服务 [root@host50 ~]# mysql -uroot -p123qqq...A # 创建用户并授权 mysql> grant replication slave on *.* -> to repluser@"%" identified by "123qqq…A"; Query OK, 0 rows affected, 1 warning (0.00 sec)

第三步:50主机查看日志信息

  • 查看master信息,目的是查看File和Position的值

mysql> show master status; +-----------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-----------------+----------+--------------+------------------+-------------------+ | master50.000001 | 154 | | | | +-----------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)

第四步:51主机配置my.cnf文件

  • 修改配置文件my.cnf

[root@host51 ~]# vim /etc/my.cnf [mysqld] server_id=51 # 指定server_id :wq

  • 重启服务生效配置

[root@host51 ~]# systemctl restart mysqld

第五步:51主机配置主服务器信息

  • 进入mysql服务,切记要保持主从数据库数据一致

[root@host51 ~]# mysql -uroot -p123qqq...A

  • 指定主服务器信息

mysql> change master to -> master_host="192.168.88.50", # 主服务器Ip地址 -> master_user="repluser" , # 主服务器添加用户名 -> master_password="123qqq...A", # 用户密码 -> master_log_file="master50.000001" , # 主服务器binlog日志名 -> master_log_pos=154 ; # 偏移量

第六步:51主机启动slave进程

mysql> start slave;

第七步:51主机查看状态信息

  • IO线程和 SQL线程必须同时是YES 状态

mysql> show slave status \G

  • 验证

# 在主服务器host52 建库建表 插入记录 mysql> create database db1; mysql> create table db1.t1(id int); mysql> insert into db1.t1 values(119); mysql> insert into db1.t1 values(120); mysql> insert into db1.t1 values(114); # 从服务器host53 可以查看到同样的数据 Mysql> select * from db1.t1;

四、补充:

正常的排错方法: 根据 IO线程和 SQL线程的报错信息排错

mysql> show slave status \G Last_IO_Error: # IO线程的报错信息 Last_SQL_Error: # SQL线程的报错信息

所有错误的统一解决办法:把slave角色的服务器恢复为独立的数据库服务器,重新配置为从服务器。

[root@host50 ~]# systemctl stop mysqld [root@host50 ~]# cd /var/lib/mysql/ [root@host50 ~]# rm -rf master.info [root@host50 ~]# rm -rf *-relay-bin.* [root@host50 ~]# rm -rf relay-log.info [root@host50 ~]# systemctl start mysqld

文件名 说明
master.info 保存主服务器信息
relay-log.info 记录中继日志信息
主机名-relay-bin.xxxxxx 中继日志文件
主机名-relay-bin.index 索引文件
发布人:8fb1****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发