MYSQL(主从和主主配置)
mysql主从同步实践(准备工作):
1、首先准备两台机器
机器环境:centos7
master端:10.0.0.33
slave端: 10.0.0.34
#注此次主从同步实践是建立在mysql空白机器上;
安装mysql-server这里使用mariadb代替和mysql5.x版本一样
yum install mariadb-server mysql -y(master端和slave段都要执行)
在命令行界面使用show variables like 'log_%';进行查看又没又开启log-bin日志没有的话要开启下
#这里我的是开启的
如果没有开启需要在mysql的配置文件中添加如下内容:
1、log-bin=/var/log/mariadb/ #这个我是和mysql中的日志存放在一起;如果是源码安装也可以自定义到其他的目录一般可以和日志和数据文件存放到一起;
2、server-id=1 #这个id号要不同每台机器的都是唯一的不然做mysql主从的时候会报错;
#一般的/etc/my.cnf 这个文件中的常用配置项有如下内容:
[mysqld]
log-bin= /var/log/mariadb/mysql-bin #mysql的logbin日志存放的位置
server-id=1 #机器的id号
这样重新启动下服务就行了
连接msyql-server端使用如下命令:
grant all replication slave on *.* to tongbu@'%' identified by '123456';
flush privileges;
show master status;
#以上的是主库执行的命令
change master to master_host='10.0.0.33',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=550;
slave start;
show slave status\G;
#这要这两个running为yes就能主从同步;
MySQL主主同步
MySQL主主同步只要把上面操作进行再一次操作把从库变为主库,主库变为从库,操作如下:
因为上面已经做过主从同步,下面只要做下把从库变成主库在进行配置;
grant replication slave on *.* to "tongbu"@10.0.0.33 identified by '123456';
flush privileges;
show master status;
从库配置
change master to master_host='10.0.0.34',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=2970299;
slave start;
show slave start\G
mysql主从复制的分布式种类
#一主多从
#拥有备库的主主同步
#环形复制
#拥有备库的环形复制
#一个主库,一个分发主库和多个备库