欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7安装MySQL并配置主从复制

程序员文章站 2022-04-10 12:39:42
...

一、MySQL主从复制原理

  1.1基于语句的复制:在主服务器上执行的SQL语句,再在从服务器上执行一次,默认采用语句复制

  1.2 基于行的复制:把改变的内容复制过去,而不是把命令再在从服务器上执行一遍

  1.3 混合类型复制:一旦发现基于语句无法精确的复制时,就会采用基于行的复制

二、MySQL复制的过程

    2.1 在每个事务完成之前,master(主服务器)在二进制日志中记录这些改变

    2.2 slave(从服务器)开启IO线程,将master的binary log(二进制日志)复制到中继日志

    2.3 SQL线程从中继日志中读取事件,更新slave的数据库

三、安装MySQL

  3.1 安装wget

yum -y install wget

  3.2 下载MySQL的rpm包

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

  3.3 安装

rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql-server

  3.4 启动MySQL

systemctl start mysqld
systemctl enable mysqld

  3.5 第一次登录MySQL会在MySQL的日志中提供初始密码

grep password /var/log/mysqld.log

CentOS7安装MySQL并配置主从复制
  3.6 登录MySQL

mysql -uroot -pllq_eE_Jy4u3

  3.7 第一次登录进来会提示修改密码
CentOS7安装MySQL并配置主从复制
根据提示修改密码,密码必须要有字母,大小写,符号等,否则修改不成功

alter user 'root'@'localhost' identified by '1234Aa..';

  3.8 现在就能正常使用了
CentOS7安装MySQL并配置主从复制

四、搭建MySQL的主从复制

  4.1 mysql主从复制的前提

    主与从时间必须相同
    主从之间必须能网络互通

  4.2 同步时间

        如果数据库不能连接外网就安装配置ntp

ntpdate ntp1.aliyun.com
  4.3 配置主服务器

    4.3.1 修改配置文件

vim /etc/my.cnf
添加:
server-id 		=1
log-bin=master-bin
log-slave-updates=true

重启MySQL
systemctl restart mysqld

    4.3.2 登录MySQL,授权从服务器

grant replication slave on *.* to 'myslave'@'192.168.1.%' identified by '123456';
myslave:从服务器名
192.168.1.%:从服务器可登录的网段/ip
123456:从服务器登录的密码

    4.3.3 刷新MySQL

flush privileges;

    4.3.4 查看主服务器状态

show master status;

CentOS7安装MySQL并配置主从复制
file : 日志文件
position:偏移量

  4.4 配置从服务器

    4.4.1 修改配置文件

vim /etc/my.cnf
添加:
server-id 		=2 		#ID不能与主服务器相同
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index

    4.4.2 重启MySQL

systemctl restart mysqld

    4.4.3 登录mysql,同步配置

change master to master_host='192.168.1.8',master_user='myslave',master_password='123456',master_log_file='master-bin.000005',master_log_pos=2035;
# master_user:从服务器登录主服务器的登录名
# master_password:从服务器登录主服务器的密码
# master_log_file:刚刚查询出来的日志文件
# master_log_pos:刚刚查询出来的偏移量

    4.4.4 启动同步

start slave;

    4.4.5 查看slave状态,这两项必须为yes

show slave status\G;

CentOS7安装MySQL并配置主从复制
    4.4.6 测试同步是否能成功
在主服务器上创建一个库,从服务器能够同步
CentOS7安装MySQL并配置主从复制
CentOS7安装MySQL并配置主从复制
从创建一个库不能同步到主上
CentOS7安装MySQL并配置主从复制
CentOS7安装MySQL并配置主从复制

要想实现双方都能同步只需再做一次主从复制,双方调换身份即可

相关标签: Linux运维 MySQL