Mysql主从设置

我的博客

说明

两台linux服务器进行主从实验
mysql:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
主(写):192.168.198.221
从(读):192.168.198.222
需要mysql初始环境一样

原理:

  1. 主服务器建立2进制日志,每产生语句或磁盘变化,写进日志
  1. 从服务器监听主服务器建立relaylog(中继日志)
  2. 主服务器建立授权复制账号,从服务器利用复制账号来监听主服务器的日志notice:
    所有的mysql服务器都有1个独一无二的id server_id

主从设置

第一步,编辑my.cnf

vi /etc/my.cnf

主master:

log-bin=mysql-bin  #写二进制日志 
binlog-format=mixed
server-id=221   #同一局域网内一般为ip的后3位

从slave:

relay-log=mysql-relay
server-id=222       #同一局域网内一般为ip的后3位

第二步:重启 主,从mysql服务

sudo service mysqld restart                   #重启

第三步:

主: 创建账号:repl 密码:!QAZ2wsx

mysql -uroot -p              #进入mysql
grant replication client,replication slave on *.* to 'repl'@'%' identified by '!QAZ2wsx;    #创建账号
show master status;          #查看当前master二日志进制状态


从: 抄主服务器日志,主服务器的日志位置,如上图

#进入mysql
mysql -uroot -p     
#抄主服务器日志
change master to 
master_host='192.168.198.221',
master_user='repl',
master_password='!QAZ2wsx', 
master_log_file='mysql-bin.000001',
master_log_pos=457;
show  slave status \G   #查看从机slave状态
#如果状态不是配置的机器可以重置  重新执行抄主服务器的代码
reset slave   #重置  

启动slave

start slave;       #启动slave
show slave status \G   #再次查看从机slave状态

测试

主:插入测试数据

-- 创建数据库--
CREATE DATABASE test;
-- 进入数据库--
use test;
-- 创建表--
CREATE TABLE `test` (
 `id` INT NOT NULL,
 `test` VARCHAR (255) NULL,
 PRIMARY KEY (`id`)
);
-- 插入数据--
INSERT INTO `test`.`test` (`id`, `test`) VALUES ('1', '1');


主:查看数据

SELECT * FROM `test`;


从:查看数据

-- 进入test数据库 --
use test;
-- 查看数据-- 
SELECT * FROM `test`;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 环境 操作系统:CentOS-6.5-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6....
    宇信智臻sy阅读 2,673评论 0 6
  • 环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6....
    思梦PHP阅读 2,075评论 0 12
  • 东去一久别,木门三年锁。 凄风秋枝散,正日夏光灼。 乘龙出江左,纵马上烟罗。 青云见白虎,好酒待君说。 千杯不足少...
    程石阅读 107评论 0 2
  • 正月初七,我和土豆准备去省城拜访两位老朋友,因为没有提前买票,土豆就在网上选了初七早上8:20的动车站票,当天下午...
    千禾随笔阅读 974评论 5 26
  • 父亲,登山的路不能相邀了,虽然难免孤单,偶有荆棘,但绿野仙踪,时有布谷布谷,山路蜿蜒绵长,微风徐徐。而山下那位老爷...
    玉_82阅读 199评论 0 2