mysql集群之主从复制_mysql集群搭建之主从复制

本文详细介绍了如何配置MySQL的主从复制,包括在主服务器上修改my.cnf,设置二进制日志,授权复制账户,以及在从服务器上配置复制,删除UUID文件,启动复制功能,并检查复制状态。通过此教程,可以实现数据库的数据同步。
摘要由CSDN通过智能技术生成

0.准备环境,需要两台服务器,一主一从。

在我的示例中,主服务器的ip是192.168.68.3;从服务器可以参照VMWare克隆服务器,我搭建了一个192.168.68.5作为从服务器。

因为我是在上一节开启慢查询后克隆过来的服务器,所以从服务器理论上也安装了mysql的服务(到时有细节会说,有个uuid是相同的)。而自己在克隆时,原来不需要安装mysql(重新装一下linux之mysql的安装和配置),安装的的话更方便,一会改下uuid的细节就可以了。

1.主服务器配置(在192.168.68.3的机器上)

1)修改my.conf文件

在[mysqld]段添加

#启用二进制日志

log-bin=mysql-bin

#服务器唯一ID,一般取IP最后一段

server-id=3

我起的名叫mysql-bin,到时会生成mysql-bin.000001这样的文件

server-id一般和机器ip尾数一样就行,我的是3

2)重启mysql服务

service mysqld restart

3)建立帐户并授权slave

mysql>GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';

mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456';

0cc3d489d28eb6e3e4c7d64c9dd9d8a0.png

f61d2893ab3b12b6a646fd35841a8fb6.png

#一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。

我这边为了演示,用了root账号。让从机通过主机的用户名/密码 root/root登录进入

然后刷新权限

mysql> FLUSH PRIVILEGES;

4)查询master的状态

mysql> show master status;

14f17e2599a8ba1df8d544a33edb26ae.png

position=602这个偏移量记住,后面会用到

之前的设置中,发现在/var/lib/mysql文件夹下,已经多出了mysql-bin开头的bin log日志文件

7b6e1a2fc6378d85834f97d816107f93.png

2.从服务器配置(在192.168.68.5的机器上)

1)修改my.conf文件

[mysqld]

server-id=5

2)删除UUID文件

第0步骤的时候,说uuid的细节。如果是克隆过来的机器,在192.168.68.5(从服务器)上的/var/lib/mysql/auto.cnf

fdb299c9c2c374013d31f8af508dc96a.png

两个auto.cnf文件的uuid是一样的,这样做主从时会有错误

50e77e3b6feadb9bb169a3a50f9833d8.png

eea006032558d0d0f78fe99e38b729b2.png

解决办法就是将从服务器中的auto.cnf文件给删掉,然后重启服务

a715515f04c4dbad667dbaee0874bd97.png

看清是从服务器的

935e03ffd7c1ae4dcbd34078eaca8e47.png

然后他会生成一个新的auto.cnf文件

3)配置从服务器

mysql>change master to master_host='192.168.68.3',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=602;

注意语句中间不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“602”无单引号(此处的602就是show master status 中看到的position的值,这里的mysql-bin.000001就是file对应的值)。

4)启动从服务器复制功能

mysql>start slave;

3aa273a93058707735c0095318745830.png

5)检查从服务器复制功能状态

mysql> show slave status;

af3401600ae5f87cdc9072c07c3a94c4.png

注:Slave_IO_Running及Slave_SQL_Running进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

我们已经看到,这两个参数状态已经是yes了

3.验证

从主服务器写了一条数据,发现从从服务器中能够查询出有数据更新了。

完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值