MySQL高可用集群环境搭建
01、MySQL高可用环境方案
MySQL数据库简单介绍:
MySQL作为使用最广泛的数据库之一,最重要是免费。一些中小型公司大部分都在使用MySQL,有时候单一的数据库并不能满足实际的来发需求,此时数据库集群就很好的解决了问题。保证每台MySQL服务器的数同步。我们通过修改MySQL内部配置就可以轻松完成,一台主服务器和从服务器。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的SQL数据库服务器。
02、MySQL主从复制原理
MySQL主从配置非常灵活- 一主一从
- 主主复制
- 一主多从—扩展系统读取的性能,因为读是在从库读取的;
- 多主一从—5.7开始支持
- 联级复制–
mysql主从复制,是mysql本身自带的功能,不需要额外的第三方软件就可以实现,其复制功能并不是coppy文件实现的,而是借助binlog日志文件里面的sql命令实现的主从复制,可以理解为在主服务器执行一条sql命令,那么再salve端同样会在执行一遍,从而达到主从复制的效果。
从库生成两个线程,一个I/O线程,一个SQL线程:
i/o线程会请求binlog,并将得到的binlog日志写到从表的 log文件中,这样主库会生成一个log dump线程,用来给从库i/o线程传binlog。SQL线程,会读取从表的log文件中的日志,并解析成具体操作,来实现主从操作一致,从而最终数据一致。
03、在MySQL集群环境上配置主从复制
主从复制环境配置,需要两台服务器,一个主服务器,和从数据库服务器。 主服务器配置vi /etc/my.cnf 新增以下内容
server_id=177 #服务器id 可以随便设置
log-big=mysql-bin #开启日志文件
然后再重启MySQL服务 service mysqld restart
可以在我们mysql链接里查询
show variables like ‘%server_id%’ #查询是否已经成功
show master status #查询主的服务是否已经开启
从服务器配置
vi /etc/my.cnf
server_id=178 #从服务server_id 可以随便设置
log-bin=mysql-bin ##日志文件同步方式
binlog_do_db=test ##同步数据库
master-host=192.168.6.100 #主服务器的ip
master-user=gd #账号
master-password=123456 #密码
master-port=3306
master_log_file=‘mysql-bin.000002’ #那个文件
master_log_pos=216 #从哪一行开始
然后跟主数据库一样,查看是否成功