MYSQL主从复制

来源:互联网 发布:云免ip怎么换成域名 编辑:程序博客网 时间:2024/06/05 16:05

最近刚看了mysql高级教程先写一篇关于mysql主从复制的配置
mysql优化的话后续补上
首先得有两台服务器安装了mysql本文以mysql5.6为例
在虚拟机上安装两台centos7的服务器,并且都安装了mysql
这里写图片描述
先修改mysql的配置 my.cnf

vim /etc/my.cnf

这里写图片描述
先配置主机文件

##mysql 主从复制的二进制文件log-bin=mysql-bin##忽略哪个库binlog-ignore-db=mysql

每个slave只有一个master
且每个slave只能有唯一的服务器id也就是

server-id       = 1

这样主机文件就配置好了
接着配置从机服务器
这里写图片描述
将原有配置的server-id = 1注释掉
这里写图片描述
打开下面的service-id=2的注释
这样简易版的配置就配置好了
还有一些配置参考
这里写图片描述

配完之后
重启mysql服务,主机从机都要重启

service mysql stopservice mysql start

用客户端连接进入主机mysql
这里写图片描述

##自己安装的时候的用户名密码mysql -u root -p123456

之后在主机上建立帐户并授权slave

##建立帐户并授权slaveGRANT REPLICATION SLAVE ON *.* TO 'zhangsan'@'192.168.1.104' IDENTIFIED BY '123456';##刷新FLUSH PRIVILEGES;

这里写图片描述
查看主机状态

show master status;

这里写图片描述
到此,主机这边已经弄好了,现在开始弄从机的,也用client登进mysql服务
执行这条sql
其中
HOST对应的是自己的主机ip
USER和PASSWORD对应的是自己刚刚建立的用户和密码
FILE对应的上在主机show master status查看来的FILE
POS对应的上在主机show master status查看来的Position

CHANGE MASTER TO MASTER_HOST='192.168.1.102',MASTER_USER='zhangsan',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000009',MASTER_LOG_POS=120;

之后执行

start slave;

查看slave状态 \G以键值对的格式输出,方便查看

show slave status\G;

这里写图片描述
主要查看slave_io_running跟SLAVE_SQL_RUNNING是否都为yes
现在已经都已经准备好了
查看从机库

show databases;

这里写图片描述
现在开始在主机上建库与建表,并且插入数据,从机会自动复制,说明已经配置好了主从复制
这里写图片描述

create database testDB1;create table test(id int not null,name varchar(20));insert into test values(1,'test');select * from test;

现在开始查看从机
这里写图片描述
多出了testdb1这个库
查看数据是否一致
这里写图片描述
数据一致,此时已经完成主从复制了
关闭从机复制 执行

stop slave;

这里写图片描述
此时这两个数均为NO
到此已经完成了MYSQL的主从复制

原创粉丝点击