MariaDB主从

mariadb示例图

MariaDB主从_第1张图片
MariaDB主从_第2张图片
MariaDB主从_第3张图片
MariaDB主从_第4张图片
这种都是主架构的,它的优点以外,数据的传入不是同步的,数据不一致,就会宕机。
–主从架构:
异步:效率高,安全性低,有延迟
同步:效率低,安全性高,无延迟
主:可读可写,(dump thread)
从:可读不可写 (sql thread, i/o thread)

单点故障解决方案:
	主主架构:
		互为主备,互相监控对方二进制日志文件进行同步
		note:当两个sql语句发生冲突的时候主主架构有可能出现数据不一致的现象;
	MHA(master hi avalible)
		HMA可以有多个配置文件,一个配置文件监控一个主从架构
		
配置:
	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.254.13
	服务器2: MariaDB02 192.168.254.10
	操作系统: CentOS7.6
	数据库版本:    MariaDB-10.3.7
	主从关系: MariaDB01为主,MariaDB02为从

	主节点
		MariaDB01
		1. 修改配置文件
		vi /etc/my.cnf.d/server.cnf
		在[mysqld]下加入以下
		server-id=1
		log-bin=mysql-bin

		2. 重启mysql服务
		service mysqld restart

		3.创建主从连接帐号与授权
		GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';
		flush privileges;

		4.show master status

	从节点
		MariaDB02
		1. 修改配置文件
		vi /etc/my.cnf.d/server.cnf
		server-id=2
		2. 重启mysql服务
		service mysqld restart

		3.登录数据库
		mysql -uroot -proot4. 建立主从连接
		CHANGE MASTER TO MASTER_HOST='192.168.254.13', MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=528;
		start slave;
		show slave status;

–galera集群
确保你的firewalld和selinux关闭
三台机器:
192.168.254.13
192.168.254.10
192.168.254.12

配置文件:
	第一步:
		vim /etc/my.cnf.d/server.cnf
		wsrep_on=ON
		wsrep_provider=/usr/lib64/galera/libgalera_smm.so
		wsrep_cluster_address="gcomm://192.168.254.13,192.168.254.10,192.168.254.12"
		binlog_format=row
		default_storage_engine=InnoDB
		wsrep_node_name=node1(node2,node3与主机名无关)
	第二部:
		初始化:
		mysqld_safe --wsrep_cluster_address=gcomm://192.168.254.13,192.168.254.12,192.168.254.10
	第三部:
		在其中一个节点上执行galera_new_cluster
		剩余2个节点用service mariadb restart
		
	第四步:
		查看状态:
			show status like '%wsrep%';
		关键参数:
			wsrep_cluster_size | 3 | ##集群成员
			wsrep_cluster_status | Primary | ##主服务器
			wsrep_connected | ON | ##当前是否连接中
			wsrep_incoming_addresses | 192.168.153.142:3306,192.168.153.143:3306,192.168.153.144:3306 | ##连接中的数据
			wsrep_ready | ON | ##插件是否应用中
			wsrep_cluster_state_uuid | b8ecf355-233a-11e8-825e-bb38179b0eb4 | ##UUID 集群唯一标记
			| wsrep_received | 35 | ##数据复制接收次数
			
		
		
		
		
		
		注意:
			如果启动集群出错可参考以下方案,如果galera集群为3个节点(a,b,c),那么如果关闭的顺序为a->b->c
			那么如果要再次启动集群就要先在c上面启动服务galera_new_cluster,再在另外两个节点上启动数据库service mariadb restart
			可以查看/var/lib/mysql/grastate.dat文件的safe_to_bootstrap: 1参数,如果为1代表最后一个停数据库的
			解决方案1:
				vim /var/lib/mysql/grastate.dat
				把safe_to_bootstrap更改为1
				# GALERA saved state
				version: 2.1
				uuid:    a393feef-f639-11e8-9b89-4e75f9b8fb0f
				seqno:   -1
				safe_to_bootstrap: 1
			解决方案2:
				vim /var/lib/mysql/grastate.dat
				查看你的UUID是否是集群的UUID,如果不是需要手动修改为集群的UUID之后在启动

你可能感兴趣的:(木木,MariaDB主从)