mysql主从复制

首先需要在linux虚拟机安装mysql

参考地址: https://www.cnblogs.com/luyun-blog/p/12014343.html

复制多个镜像(本次为1主1从)

关闭三个虚拟机的防火墙

systemctl stop firewalld

因为是克隆的镜像需要修改ip地址 修改网卡配置 我这里的网卡为ens33

分别修改两个虚拟机网卡地址

 vi /etc/sysconfig/network-scripts/ifcfg-ens33

 

 

 

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="5e2703e3-6d44-44c4-be10-411505784acd"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
IPADDR="192.168.142.25"
GATEWAY="192.168.142.2"
DNS1="8.8.8.8"
NETMASK="255.255.255.0"

重启网卡

ifdown ens33
ifup ens33

 修改msyql配置文件 添加如下内容

vi /etc/my.cnf  
log-bin=/var/log/mysql/mysql-bin
server-id=1

 

 

 创建文件并赋予权限

 mkdir /var/log/mysql
 chown -R mysql  /var/log/mysql
 service mysql start #重启mysql  

登录到mysql

./mysql -uroot -p 

查看是否开启只允许本地连接 off为关闭状态

show variables like '%skip_networking%';

 

 

 创建远程复制用户

CREATE USER 'repl'@'%';  

赋予 repl 用户权限

GRANT REPLICATION SLAVE ON *.*  TO  'repl'@'%'  identified by 'xxx'  

测试主机的ip是否通的

telnet  192.168.142.26 3306 #192.168.142.26 为主机的ip地址 3306为默认端口号

如若不通关闭防火墙

systemctl stop firewalld  

从从机上用repl用户登录到主机上面

cd /usr/local/mysql/bin
./mysql -urepl -p -h192.168.142.26   

退出mysql登录

quit

 

 

 修改从机my.cnf配置

server-id=2

 

重启服务

service mysql restart

设置复制用户权限

CHANGE MASTER TO
MASTER_HOST='192.168.142.26', 
MASTER_USER='repl',                  
MASTER_PASSWORD='123456';
flush privileges;#刷新权限

查看从机状态

start slave; #开启从机同步
show slave status\G #查看从机同步状态

 

 

 

 

 发现主从的uuid一致 删除从库的uuid

mv /usr/local/mysql/data/auto.cnf /usr/local/mysql/data/auto.cnf.bak  

重启mysql服务

service mysql restart

 在主库创建数据库 test 

CREATE DATABASE test;

去从库查看test数据库是否同步

 

 从库已经同步到主库的数据库 说明主从复制成功!!!

如有问题,欢迎讨论,指点!

 

 

 

 

 

 

 

 

  

 

  

 

 

 

 

posted @ 2019-12-10 21:39  老骥伏枥_志在千里  阅读(252)  评论(0编辑  收藏  举报