【11.5】MySQL 主从

本文详细介绍了MySQL主从复制的过程,包括主从配置、准备工作、配置步骤以及如何测试主从同步。通过主从复制,可以实现数据备份、读写分离,降低主服务器压力。在配置过程中,需要注意主从的server-id、binlog设置,以及解决可能出现的UUID相同的问题,确保Slave_IO_Running和Slave_SQL_Running均为Yes以保证主从成功同步。
摘要由CSDN通过智能技术生成

17.1 MySQL 主从介绍

  • MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的
  • MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
  • 主从过程大致有 3 个步骤
    1)主将更改操作记录到binlog里
    2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里
    3)从根据relaylog里面的sql语句按顺序执行
    主上有一个log dump线程,用来和从的I/O线程传递binlog
    从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地
    在这里插入图片描述
  • 两个场景:
    1,从作为数据备份
    2,不仅仅备份,主上写,从上读,减轻主的压力

17.2 准备工作

从机器上安装 mysql:

[root@alexis-02 src]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
[root@alexis-02 src]# tar xvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz 
[root@alexis-02 src]# mv mysql-5.6.43-linux-glibc2.12-x86_64/ /usr/local/mysql
[root@alexis-02 mysql]# useradd mysql
[root@alexis-02 mysql]# mkdir /data/
[root@alexis-02 mysql]# mkdir /data/mysql/
[root@alexis-02 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
[root@alexis-02 mysql]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock    
[root@alexis-02 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@alexis-02 mysql]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql
datadir=/data/mysql

[root@alexis-02 mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 
[root@alexis-02 mysql]# ps aux|grep mysqld
root       7488  0.1  0.1 113312  1616 pts/0    S    16:56   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/arslinux-02.pid
mysql      7652  8.7 45.1 1302736 449792 pts/0  Sl   16:56   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysql.log --pid-file=/data/mysql/arslinux-02.pid --socket=/tmp/mysql.sock
root       7676  0.0  0.0 112724   984 pts/0    R+   16:57   0:00 grep --color=auto mysqld
[root@alexis-02 mysql]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6926/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7061/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      7652/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      6926/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      7061/master
[root@alexis-02 mysql]# chkconfig mysqld on
[root@alexis-02 mysql]#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值