首页 技术数据库正文

Mysql实现主从复制

薄洪涛 数据库 2019-11-11 330 1 主从复制

在开始教程之前,必须要先说说为什么要搞主从复制

  1. 线上环境,我们必须要对正式数据库的数据进行备份,保持备份数据库和正式库的数据实时一致

  2. 业务层面:业务量越来越大,对数据库的查询越来越高,数据库服务器的压力越来越大,此时通过堆硬件不是很好的解决方法,所以一般要做读写分离,及主库和从库数据实现实时复制,业务的处理在主库中进行,数据的查询在从库进行,通常,主从库的比例为1:7左右

再说下主从复制的原理

    1. mysql数据库有个二进制日志文件,用来记录数据库所执行的sql语句

    2. 我们需要做的就是把主库的日志文件拿过来,读取里面的内容,然后在从库中执行一次就可以实现保持数据库的数据一致

开始教程

    1. 安装环境(mysql5.6)

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server -y

    2. 启动mysql服务并设置开机启动

# start是启动  stop是关闭  restart是重启
service mysqld start
systemctl enable mysqld

    3. 设置mysql的用户资料及密码,这块自己看着来就可以,记得要建立root账户及密码

mysql_secure_installation

    4. 登录mysql并允许root用户远程登录

# 登录mysql
mysql -uroot -p   (这里执行后输入密码)
# 下面这句话是赋权限,允许远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED     BY 'yourpassword' WITH GRANT OPTION;
# 刷新权限
flush privileges;
# 执行完之后eit退出

    5. 主库配置

vim /etc/my.cnf

    增加以下配置(切记放在 [mysqld] 下面),配置完后重启mysql服务(service mysqld restart)

log-bin = mysql-bin
binlog_format = mixed
server-id =1
innodb-file-per-table =ON
skip_name_resolve=ON

    6. 重新登录mysql(如果你是从头开始安装的话,日志应该会有一条,我这里有3条)

show master logs;

image.png

查看主节点server id

image.png

查看二进制日志是否开启

image.png

然后这就是主库的配置,最后一步要记得关闭防火墙或者放行3306端口,主从库都要哦

放行命令

开端口命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙:systemctl restart firewalld.service

现在我们开始配置从库

安装过程都是一样的,主要是配置/etc/my.cnf,同样放[mysqld]下

relay-log=relay-log
relay-log-index=relay-log.index
server-id=12innodb_file_per_table=ON
skip_name_resolve=ON

然后重启mysql,登录mysql

 show global variables like '%log%';

image.png

执行以下命令,添加主库,信息要自己改一下,日志的名字和偏移量可以在主库上执行show master logs获取

CHANGE MASTER TO MASTER_HOST='192.168.71.129',MASTER_USER='root',MASTER_PASSWORD='root', MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=4323;

然后启动进程(复制日志的进程和执行sql的进行)

start slave

查看进程状态

image.png

如果是两个yes测试就可以了

image.png

注意:如果新建了数据库,需要stop slave,然后设置日志文件及偏移量之后start slave

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

精彩评论