主从架构介绍和操作

主从架构:
异步:效率有延迟高,安全性低,

主:可读可写,(dump thread)
从:可读不可写 (sql thread, i/o thread)
主从复制的原理:
主可读可写,从可读不可写(read only)
当有数据增删改的时候主库中会写入二进制日志,从的io线程会读取主的二进制日志,主的dump发送数据给从然后存储到中继日志中,从的sql线程会读取中中继日志进行数据同步
主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失





配置:
yum配置
[mariadb]
name=MariaDB
baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64/
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
服务器1: MariaDB01 192.168.126.8
服务器2: MariaDB02 192.168.126.9
操作系统: CentOS7.6
数据库版本: MariaDB-10.3.7
主从关系: MariaDB01为主,MariaDB02为从
MariaDB01
第一步 :修改配置文件
[root@zxw8 /]# vim /etc/my.cnf.d/server.cnf
在[server]下加入以下
server-id=1
log-bin=mysql-bin
第二步: 重启mysql服务
[root@zxw8 /]# systemctl restart mariadb
第三步:回滚
MariaDB [mysql]> flush logs;
MariaDB [mysql]> show master status;
第四步:创建主从连接帐号与授权
grant replication slave on *.* to slave@'%' identified by 'slave';
4.show master status

MariaDB02
第一步. 修改配置文件
vi /etc/my.cnf.d/server.cnf
server-id=2
第二步. 重启mysql服务
service mysqld restart
第三步.登录数据库
mysql -uroot -p123
第四步: 建立主从连接
change master to master_host='192.168.126.8',
master_user='slave',
master_password='slave',
master_port=3306,
master_log_file='mysql-bin.000007',
master_log_pos=385;


第五步:启动io sql 线程
start slave;
第六步:查看线程
show slave status G
主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构来搭建

show master status
线程:
IO,和SQL

#如果出现不同步可以执行以下步骤
stop slave
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave
或者
stop slave;
mysql> change master to
master_host='192.168.254.28',
master_user='user',
master_password='pwd',
master_port=3306,
master_log_file='mysql-bin.000008',
master_log_pos=483;
start slave

Master_Host: 192.168.126.8 主ip
Master_User: slave 主用户
Master_Port: 3306 端口
Connect_Retry: 60
Master_Log_File: mysql-bin.000007 主二进制文件
Read_Master_Log_Pos: 385
Relay_Log_File: zxw7-relay-bin.000002
Relay_Log_Pos: 555
Relay_Master_Log_File: mysql-bin.000007
Slave_IO_Running: Yes 线程
Slave_SQL_Running: Yes 线程

 

原文地址:https://www.cnblogs.com/itzhao/p/11294021.html