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数据库是否同步
从库已经同步到主库的数据库 说明主从复制成功!!!
如有问题,欢迎讨论,指点!