MySQL主从复制部署原理及mariadb5.5实例

2023-07-2712:34:09数据库教程Comments909 views字数 1431阅读模式
原理:所有在主服务器上的操作都会同步到从服务器上,实现主从同步的配置,主从复制可以避免主服务器宕机后导致业务暂停(主服务器宕机后切换到从服务器上继续执行任务)。
环境准备:
IP
中间件
10.88.22.183
MySQL
10.88.22182
MySQL
本例子以mariadb5.5为例子做演示(与MySQL操作并无不同)
1、首先在两台机器上都开启binlog日志,开启方法进入MySQL配置文件,vi /etc/my.cnf   在mysqld下方中添加如下内容:
log_bin=/var/lib/mysql/mysql-binexpire_logs_days=10(表示binlog日志数据保存周期为10天)server-id=1(两台服务器设置不同的节点,另一台可设置server-id=2)
注意:binlog日志文件必须开启,因为数据同步的实质就是其他的MySQL服务器将数据变更的二进制日志在本机上再执行一遍
设置完成后,重启MySQL即可
.2、在主服务器中执行10.88.22.183中创建一个通过从服务器10.88.22.182可以登录的MySQL用户,用户名:night 密码night@5793,执行命令如下:
grant replication slave on *.* to ‘night’@’10.88.22.182identified by ‘night@5793’;flush privileges;
3、查看主服务器10.88.22.183中binlog二进制日志位置与名字,执行命令如下:
show master status;
MySQL主从复制部署原理及mariadb5.5实例
从图中可以看出日志名字为mysql-bini.000004,位置为475
4、在从属服务器10.88.22.182中告知主服务器中的二进制文件名与位置,执行命令如下:
change master to master_host='10.88.22.183',master_user='night',master_password='night@5793',master_log_file='mysql-bin.000004',master_log_pos=475;
MySQL主从复制部署原理及mariadb5.5实例
5、测试主从复制,在从服务器中执行如下命令:
start slave;show slave status\G;
MySQL主从复制部署原理及mariadb5.5实例
MySQL主从复制部署原理及mariadb5.5实例
当看到Slave_IO_Running和Slave-SQL_Running都是显示yes时表示配置成功,此时可以在主服务器上新建数据库以及建表,在从服务器中查看可以发现已经同步成功。
错误1:Slave_IO_Running显示connecting表示未连接成功
可能原因:防火墙开启但是没有允许3306端口通过,关闭防火墙或允许3306端口通过即可
错误2:Slave-SQL_Running显示No
原因:关闭了从服务器后在主服务器又执行了增删改查等操作
解决方法:先停止slave服务器,然后重新执行上面的第3、4步骤,然后在测试主从
错误3:MySQL5.6版本提示错误Slave_IO_Running:No
原因:从mysql5.6开始复制引入了uuid的概念,各个复制结构中的server_uuid的值不可以一样,可以通过show variables like ‘server_uuid’;
解决方法:找到数据文件夹下的auto.cnf文件,将里面的值修改为不同的,重启MySQL
注意:如果要重新配置主从,可在相关的每个节点执行如下命令来清空全部主从信息
reset masterreset slave all
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51977.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/51977.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定