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

数据库主从配置入门级(Mysql5.6)

程序员文章站 2024-03-20 21:45:10
...

简介

在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。mysql主从复制是对数据库中的数据、语句做备份。
数据库主从配置入门级(Mysql5.6)
以上为资料借鉴引用。

配置准备

数据库版本:MySQL mysql-5.6.40
主机A:192.168.1.1 (Master)
主机B:192.168.1.2 (Slave)
安装主从数据库安装步骤请参阅Linux环境MySql安装博文

配置Master库

 #打开数据库配置文件
 vim /etc/my.cnf

在[mysqld]下方加入

server-id = 1                    #用于标识唯一的数据库
log-bin=master-bin
log-bin-index=master-bin.index
binlog-do-db=smart_db_study      #表示只对smart_db_study库进行同步
binlog-ignore-db=mysql           #同步时忽视mysq库

重启Master数据库

service mysqld restart

登录查看配置信息

#1.登录
mysql -u root -p
#1.查看
show master status;
+------------------+----------+--------------+----------------------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                 | Executed_Gtid_Set |
+------------------+----------+--------------+----------------------------------+-------------------+
| mysql-bin.000004 |    76033| smart_db_study| mysql |                   |
+------------------+----------+--------------+----------------------------------+-------------------+
1 row in set (0.00 sec)

这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示忽略的数据库,这些都是在my.cnf配置的时候进行指定的。
另外:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对

配置Slave库

 #打开数据库配置文件
 vim /etc/my.cnf

在[mysqld]下方加入

server-id = 2                         #用于标识唯一的数据库
log-bin=slave-relay-bin
log-bin-index=slave-relay-bin.index

修改完/etc/my.cnf重启数据库

#登录从库
mysql -u*** -p***
#停止slave
start stop;
#指定Master库的信息
change master to master_host='XXX',master_user='XXX',master_password='XXX',master_port='XXX',master_log_file='mysql-bin.000004', master_log_pos=76348;
#启动slave
start slave;

数据库主从配置入门级(Mysql5.6)

备注master_log_pos需与Master的Position 选项对应

#查看配置信息
show slave status;
#配置信息如下
Waiting for master to send event    xxxx    xxx xxx 60  master-bin.000004   76033   izm5e1s4au8d2yksb08zr4z-relay-bin.000008    76197   master-bin.000004   Yes Yes                         0       0   76033   76552   None        0   No                      0   No  0       0           1   126e60f7-4aa0-11e8-8425-00163e088490    /usr/local/mysql/data/master.info   0       Slave has read all relay log; waiting for the slave I/O thread to update it 86400                               0

如果:Slave_IO_Running: Yes,Slave_SQL_Running: Yes则为配置成功

测试

#连接Master在smart_db_study对customer执行插入操作
INSERT INTO customer(name,contact) VALUE('zhanshan','test')

数据库主从配置入门级(Mysql5.6)

数据库主从配置入门级(Mysql5.6)

查看Slave的smart_db_study库customer数据
数据库主从配置入门级(Mysql5.6)