mysql主从复制服务搭建

1、mysql主从复制简述:
随着访问量的不断增加,单台MySQL数据库服务器压力不断增加,需要对MYSQL进行优化和架构改造,MYQSL优化如果不能明显改善压力情况,可以使用高可用、主从复制、读写分离来、拆分库、拆分表来进行优化。
MYSQL主从复制集群在中小企业、大型企业中被广泛使用,MYSQL主从复制的目的是实现数据库冗余备份,将Master数据库数据定时同步至Slave库中,一旦Master数据库宕机,可以将WEB应用数据库配置快速切换至Slave数据库,确保WEB应用较高的可用率。

2、什么是MYSQL主从
主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。在最常用的mysql数据库中,支持单项、异步赋值。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器;此时主服务器会将更新信息写入到一个特定的二进制文件中。
并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新。

3、从复制的作用

  • 确保数据安全;做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据的丢失。
  • 提升I/O性能;随着日常生产中业务量越来越大,I/O访问频率越来越高,单机无法满足,此时做多库的存储,有效降低磁盘I/O访问的频率,提高了单个设备的I/O性能。
  • 读写分离,使数据库能支持更大的并发;在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

4、mysql主从复制的原理
Mysql主从复制集群至少需要2台数据库服务器,其中一台为Master库,另外一台为Slave库,MYSQL主从数据同步是一个异步复制的过程,要实现复制首先需要在master上开启bin-log日志功能,bin-log日志用于记录在Master库中执行的增、删、修改、更新操作的sql语句,整个过程需要开启3个线程,分别是Master开启IO线程,Slave开启IO线程和SQL线程,
mysql主从复制服务搭建

1、mysql主从复制搭建
简单说一下yum方式安装mysql5.7,这里是基于mysql5.7.33环境搭建mysql主从服务,源码方式详细安装移步:https://blog.51cto.com/11353391/2668445

2、确认操作系统的版本
cat /etc/redhat-release
mysql主从复制服务搭建
3、安装mysql
CentOS7 及以上版本 默认安装了 MariaDB,卸载系统自带mysql,

yum list installed | grep mariadb
yum -y remove mariadb*

rpm -qa|grep mariadb
rpm -e mariadb-libs --nodeps

cd /mnt/
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"

查看 MySQL 版本
yum repolist all | grep mysql
安装 MySQL
yum install mysql-community-server
启动mysql
systemctl start mysqld
systemctl status mysqld
获取mysql临时密码:
cat  /var/log/mysqld.log |grep localhost
set global validate_password_policy=0;
set global validate_password_length=1;
alter user 'root'@'localhost' identified by '123456';

flush privileges;
exit
mysql -u root -p123456

开启远程访问
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

猜你喜欢

转载自blog.51cto.com/11353391/2670319