MYSQL 主从复制

MySQL主从复制

MySQL主从复制

mysql的主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是实时的业务数据操作,从数据库常用的读取为主。

优点主要有

1.可以作为备用数据库进行操作,当主数据库出现故障之后,从数据库可以替代主数据库继续工作,不影响业务流程

2.读写分离,将读和写应用在不同的数据库与服务器上。一般读写的数据库环境配置为

一个写入的数据库,一个或多个读的数据库,各个数据库分别位于不同的服务器上,充分利用服务器性能和数据库性能;当然,其中会涉及到如何保证读写数据库的数据一致,这个就可以利用主从复制技术来完成。

3.吞吐量较大,业务的查询较多,并发与负载较大。

 

MySQL主从复制实验过程

准备两台虚拟机,安装好数据库

一台做主服务器(IP=20.0.0.30),一台做从服务器(IP=20.0.0.10)

 

1、 主服务器的配置

[root@server3 ~]# vim /etc/my.cnf

添加如下图

修改服务器ID(不能相同)

 

 

 

添加完成后重启MySQL服务

[root@server3 ~]# systemctl restart mysqld

 

打开MySQL数据库

[root@server3 ~]# mysql -u root -p

 

 

 

 

给从服务器授权

mysql> grant replication slave on *.* to 'myslave'@'20.0.0.%' identified by '123';

刷新数据库权限

mysql> flush privileges;

 

 

 

 

查看主服务器的状态

mysql> show master status;

 

 

 

将红框中的内容保存下来,从服务器上需要使用

 

从服务器配置

修改服务器ID(不能相同)

[root@server1 ~]# vim /etc/my.cnf

 

[mysqld]

server-id = 40

log_bin = master-bin

relay-log = relay-log-bin

relay-log-index = slave-relay-bin.index

 

 

 

 

 

重启MySQL服务

[root@server1 ~]# systemctl restart mysqld

进入数据库

[root@server1 ~]# mysql -uroot -p

 

 

 

 

配置与主服务器同步

Change master to master_host=’20.0.0.30’,master_user=’myslave’,master_password=’123’,master_log_file=’master-bin.000001’,master_log_pos=407;

 

 

 

红框中内容就是主服务器上保存的内容

 

启动slave,查看其状态

mysql> start slave;

mysql> show slave status\G;

 

 

 

两个均为YES即可。

验证是否搭建成功

在主服务器上创建一个数据库,到从服务器上查看

 

 

 

到从服务器上查看

 

 

posted @ 2020-11-05 22:54  escape丶丶  阅读(95)  评论(0)    收藏  举报