MySQL主从复制安装配置

MySQL主从复制安装配置

基础设置准备

#MySQL版本:
5.7
#三台虚拟机:(两台也行)
192.168.5.133(主)
192.168.5.134(从)
192.168.5.135(从)

在三台数据库中分别创建数据库
create database test;

安装MySQL数据库(可参考:https://blog.csdn.net/jt781861965/article/details/115989550?spm=1001.2014.3001.5501)
MySQL主从复制安装配置_第1张图片

在192.168.5.133(主)服务器进行如下配置:

#修改配置文件,执行以下命令打开mysql配置文件
vi /etc/my.cnf
#在mysqld模块中添加如下配置信息
log-bin=master-bin #二进制文件名称
binlog-format=ROW  #二进制日志格式
server-id=1   #要求各个服务器的id必须不一样
binlog-do-db=test   #同步的数据库名称
#登录MySQL
cd /usr/local/soft/mysql/bin/  
./mysql -u root -p 
--授权操作
set global validate_password_policy=0;
set global validate_password_length=1;
(上面两句报错的话,可以执行
SHOW VARIABLES LIKE 'validate_password%';
根据显示的结果修改命令或跳过)

grant replication slave on *.* to 'root'@'%' identified by '123456';
--刷新权限
flush privileges;

从服务器的配置

#修改配置文件,执行以下命令打开mysql配置文件
vi /etc/my.cnf
#在mysqld模块中添加如下配置信息
log-bin=master-bin #二进制文件的名称
binlog-format=ROW #二进制文件的格式
server-id=2 #服务器的id
(另一台从)server-id=3 #服务器的id

重启主服务器的mysqld服务

#重启mysql服务
service mysqld restart
#登录mysql数据库
./mysql -u root -p 
#查看master的状态
show master status;  

在这里插入图片描述

重启从服务器并进行相关配置

#重启mysql服务
service mysqld restart
#登录mysql
./mysql -u root -p 
#连接主服务器(注意修改IP、端口等,将master_log_pos的值该为在主库中查看到 的Position的值)
change master to master_host='192.168.5.133',master_user='root',master_password='123456',master_port=3306,master_log_file='master-bin.000001',master_log_pos=154;
#启动slave
start slave;
#查看slave的状态
show slave status\G (注意没有分号)

MySQL主从复制安装配置_第2张图片

测试验证
在主库中创建数据表,进行增删改查等操作,在从库中查看数据是否一致

use  test;
create table tab1
(
   id int auto_increment,
   name varchar(12) not null,
   constraint tab1_pk
      primary key (id)
);
select *  from  tab1;
insert into tab1 (name) values('zhangsan'),('lisi'),('wangwu');
delete from tab1 where id =  3;

验证OK
MySQL主从复制安装配置_第3张图片

你可能感兴趣的:(MySQL)