您的位置:首页 > 数据库 > MySQL

MYSQL主从复制

2017-10-15 21:00 489 查看
最近刚看了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 stop

service mysql start


用客户端连接进入主机mysql



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


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

##建立帐户并授权slave
GRANT 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的主从复制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息