mysql之使用centos7实现主从复制(读写分离)的实现过程
什么是主从复制?
主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。
主从复制的作用(好处)!
1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
2、架构的扩展。业务量越来越大,i/o访问频率过高,单机无法满足,此时做多库的存储,降低磁盘i/o访问的频率,提高单个机器的i/o性能。
3、读写分离,使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
mysql简介:
数据库的种类很多,oracle、sql server、mysql、access等他们个自有自己的特点和应用范围,因为一直做sqlserver之前用的比较多的是sqlserver.由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。mysql是一个多用户、多线程的关系型数据库管理系统。 工作模式是基于客户机/服务器结构。目前它可以支持几乎所有的操作系统,同时也可以和php完美结合。
简单的来说 ,mysql是一个开放的、快速的、多线程的、多用户的sql数据库服务器。
下面介绍怎么使用mysql实现主从复制.
1.首先用vmware创建两个centos7的服务器系统(多个也可以,这里只创建两个,并关闭防火墙).两个服务器的ip分别是 主:192.168.2.128,从:192.168.2.130.
2.在两个服务器中分别安装mysql数据库,并开放给本机(windows)登录(centos7安装mysql数据库本文并不过多赘述).
3.本机用workbench登录主服务器数据库与从服务器数据库,并在其中创建两个相同结构的数据库与数据表.
4.在主服务器中设置mysql配置:
1):使用命令 vi /etc/my.cnf添加配置,添加完成后保存.
5.在主服务器上登录mysql:使用命令 mysql -u root -p.
6.创建一个账号(用来让从服务器登录连接主服务器并复制主服务器的数据日志以达到主从复制的目的)
mysql> create user 'datasync'@'192.168.2.%' identified by 'datasync.123456';
mysql> grant replication slave on *.* to 'datasync'@'192.168.2.%';
7.重启mysql服务:使用命令 systemctl restart mysqld
8.登录mysql数据库查看master状态 先使用命令mysql -u root -p登录,然后使用命令 show master status;查看状态(记住下图中的状态配置,在从服务器设置中将会用到);
至此,主服务器的配置工作已全部完成,接下来是从服务器配置过程.
9.登录从服务器(192.168.2.130),登录mysql,mysql -u root -p.并修改配置文件 vi /etc/my.cnf
10.重启mysql服务 systemctl restart mysqld
11.在mysql中配置用户同步 change master to master_host='192.168.2.128',master_port=3306,master_user='datasync',master_password='datasync.123456',master_log_file='mysql-bin.000004',master_log_pos=447;
12.启动slave: 使用命令 start slave;
13.查看slave状态:show slave status\g(如果slave_io_running和slave_sql_running的结果都为yes的话,表明从服务器配置成功);
14.配置完成,这时候我们往主服务器插入几条数据:
15.打开从服务器数据库中的相关表,查看表中有无更新数据(可以看到,我们并没有往从服务器中手动插入数据,但是从服务器中有了三条数据,跟我们在往主服务器中插入的数据一模一样,表明主从复制已经成功):
至此,mysql主从复制配置成功,测试成功.