MySQL主从复制配置搭建,一步到位

1.准备工作

从已经安装的linux虚拟机克隆一个下来做为从库做准备

 然后开启克隆的虚拟机 登录

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR="192.168.220.128"        # 设置的静态IP地址
NETMASK="255.255.255.0"         # 子网掩码
GATEWAY="192.168.220.2"         # 网关地址
DNS1="192.168.220.2"            # DNS服务器
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=afd0baa3-8bf4-4e26-8d20-5bc426b75fd6
DEVICE=ens33
ONBOOT=yes
ZONE=public

如果你的系统没有vim  下载一个就好,不然用vi  一样的效果

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

 

 

 里面的静态资源根据自己的实际情况配置

特别注意ip地址如果要修改的话一定要在起始的ip中间  我这里就是128~254之间

好了言归正传

从库的IP地址在128~254里面随便写一个就好了

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR="192.168.220.130"        # 设置的静态IP地址
NETMASK="255.255.255.0"         # 子网掩码
GATEWAY="192.168.220.2"         # 网关地址
DNS1="192.168.220.2"            # DNS服务器
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=afd0baa3-8bf4-4e26-8d20-5bc426b75fd6
DEVICE=ens33
ONBOOT=yes
ZONE=public

我这里就写130了

这里从库的IP配置好了以后ESC 退出 -->: wq  保存退出

重启网络服务

ip地址修改完毕之后,需要重启网络服务,执行如下指令:

systemctl restart network

 重启网络以后IP已经发生了改变,此时重启虚拟机

 重启后登录,输入ip addr 就完成从库的服务器设置

 然后两台服务器上做如下准备工作

1.防火请开放3306端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanent

立即加载

firewall-cmd --reload

查看端口号

firewall-cmd --zone=public --list-ports

 成功,开放其他端口同理

2.在两台服务器上将两台数据库启动起来

systemctl start mysqld

然后两台服务器上登录MySQL验证是否可以正常启动

主库配置

1.退出数据库

输入

vim /etc/my.cnf

在[mysqld]

最下面配置

log-bin=mysql-bin   #[必须]启用二进制日志
server-id=200       #[必须]服务器唯一ID(唯一即可)

2.重启Mysql服务

 systemctl restart mysqld 

3.登录MySql 并执行如下指令,创建用户并授权

GRANT REPLICATION SLAVE ON *.* to 'xiaozhang'@'%' identified by 'Root@123456';

注:上面SQL的作用是创建一个用户 xiaozhang ,密码为 Root@123456 ,并且给xiaozhang用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制

4.登录MySql数据库,查看master同步状态

show master status;

 

 记录下FilePosition的值

然后就不要操作了

从库配置

1). 修改Mysql数据库的配置文件vim  /etc/my.cnf

因为从库是从主库的服务器上克隆的  所有本身有一个server-uuid是相同的,要修改一下,不然最后会报错,slave_IO_Running:no

如下才是正确的

输入

vim /var/lib/mysql/auto.cnf

到这样的一个内容界面,将后面的数字随便改一个就好,使主库和从库的server-uuid不一致就可以提前避免啦

不要删多了  多删了就登录不了MySql了

2. 重启Mysql服务

systemctl restart mysqld

3. 登录Mysql数据库,设置主库地址及同步位置

change master to master_host='192.168.220.128',master_user='xiaozhang',master_password='Root@123456',master_log_file='mysql-bin.000001',master_log_pos=154;

 注意: 这里的IP根据自己主库的服务器地址配置,后面的用户名和密码,根据自己刚刚设置的配置,

其次特别注意file和position根据刚刚的值配置,这里的特别注意的是这里的"0"的个数,小编吃过亏

 

 到十几的时候前进啦

这里配置3步骤以后如果出现这样的报错,表示当前有slave在运行

输入

start slave;

将之前的关闭

4. 查看从数据库的状态

show slave status;

输入这个会以行的形式的展示数据,不让变查看(可以复制到在Notepad++中查看)

建议直接输入

show slave status\G

表示将查询结果进行按列打印

双yes就可以了 

测试

到Navicat中连接

 在主库中创建一个数据库,以后刷新一下从库的数据库,看一下从库有没有同时创建一个同名的数据库,同步出现就表示成功了,后面创建表,测试增删改查就简单啦!

听说点赞的都已经月薪5w了,找到对象了,儿女双全了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leo丶fei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值