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

简介

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

配置准备

数据库版本: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;

这里写图片描述

备注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')

这里写图片描述

这里写图片描述

查看Slave的smart_db_study库customer数据
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置 MySQL 数据库主从同步的大体步骤如下: 1. 在主数据库上创建一个用于复制的用户,并授予其 REPLICATION SLAVE 权限。 2. 在从数据库配置主服务器的连接信息。 3. 在从数据库上启动复制进程。 下面是详细步骤: 1. 在主数据库上创建一个用于复制的用户,并授予其 REPLICATION SLAVE 权限。 在主数据库上创建一个用于复制的用户,例如: ``` CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; ``` 这将创建一个名为 `repl` 的用户,并将其密码设置为 `password`。然后,将 `REPLICATION SLAVE` 权限授予该用户,以便从服务器可以使用该用户进行连接和同步。 2. 在从数据库配置主服务器的连接信息。 在从数据库上打开 MySQL 配置文件 `my.cnf`,并添加以下内容: ``` [mysqld] server-id=2 log-bin=mysql-bin binlog-do-db=database_name # 需要同步的数据库名 relay-log=relay-log ``` 其中,`server-id` 指定了从服务器的唯一 ID,`log-bin` 指定了二进制日志文件的名称和位置,`binlog-do-db` 指定了需要同步的数据库名,`relay-log` 指定了中继日志文件的名称和位置。 在配置文件中添加完这些内容后,保存并关闭文件。 3. 在从数据库上启动复制进程。 在从数据库上启动 MySQL,并使用以下命令连接到主数据库: ``` CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', # 主数据库上的二进制日志文件名 MASTER_LOG_POS=106; # 主数据库上的二进制日志文件位置 ``` 其中,`MASTER_HOST` 指定了主数据库的 IP 地址或域名,`MASTER_USER` 和 `MASTER_PASSWORD` 指定了在主数据库上创建的用于复制的用户和密码,`MASTER_LOG_FILE` 和 `MASTER_LOG_POS` 指定了主数据库上的二进制日志文件名和位置。 然后,启动从服务器的复制进程: ``` START SLAVE; ``` 至此,MySQL 数据库主从同步已经配置完成。你可以通过 `SHOW SLAVE STATUS\G` 命令来查看从服务器的复制状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值