MySQL数据库主从复制搭建

        1.概述:

                主从复制是指将主数据库的DDL语句和DML语句操作通过二进制日志传到从库数据库当中,从库对这些日志重新执行(页叫重做),从而保持从库和主库数据保持一致。MySQL支持一台主库同时向多台从库进行复制,从库也可以作为其它服务器的主库,从而实现链状复制

                作用:

                        1)主库如果出现问题,可以切换到从库提供服务

                        2)实现读写分离,降低主库的访问压力

                        3)可以从从库中进行备份

        2.原理

                主从复制分三步:MySQL数据库主从复制搭建_第1张图片

         3.搭建

                1)准备两台服务器,并且设置防火墙(我这里是两个linux服务器):

开发指定的3306端口号
firewall -cmd --zone=public--add-port=3306/tcp -permanent
firewall-cmd-reload
关闭防火墙
systemctl  stop  firewalld
systemctl  disable  firewalld

                 关闭防火墙的两条指令都需要执行:

  •         主库搭建

        1)需要先配置两个变量MySQL数据库主从复制搭建_第2张图片

                 需要使用vim编辑器        变量配置如下

        2)需要创建一个远程连接的账号,并授予主从复制权限

创建用户并设置密码,该用户可以任意连接mysql服务器 CREATE USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码'
分配主从复制权限 GRANT RIPLICATION SLAVE ON *.* TO '用户名'@'%'

                创建用户

                 赋予权限

如果出现这样的问题

那是因为符号问题,认真检查符号,改成英文符号。

 

        3)查看二进制坐标:

show master status

                MySQL数据库主从复制搭建_第3张图片

  •          从库搭建

                1)配置两个变量MySQL数据库主从复制搭建_第4张图片

MySQL数据库主从复制搭建_第5张图片

                2)连接主库用户:

CHANGE REPLICATION SOURCE TO SOURCE_HOST='IP地址',SOURCE_USER='用户名',SOURCE_PASSWORD='密码',SOURCE_LOG_FILE='二进制文件',SOURCE_LOG_POS=坐标;

MySQL数据库主从复制搭建_第6张图片

                 3)同步:MySQL数据库主从复制搭建_第7张图片

                4)查看主从同步状态:MySQL数据库主从复制搭建_第8张图片

                如果出现以下问题MySQL数据库主从复制搭建_第9张图片

                可以试着将从库重启:systemctl  restart  mysqld

你可能感兴趣的:(笔记,数据库,mysql)