MYSQL主从搭建

MYSQL主从的原理:

在这里插入图片描述

1.首先需要两台服务器【可以和同事/朋友一起搭建】

找到mysql的配置文件进行编辑修改:( /etc/my.cnf)

主库修改:

在主库的mysqld下面追加这一段

#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置logbin格式
binlog_format=STATEMENT
# 设置不要复制的数据库,可以设置多个
binlog-ignore-db=mysql 
#设置需要同步的数据库(未创建的数据库)
binlog-do-db=table1 
#binlog-do-db设置后,可以不设置binlog-ignore-db

退出并重载配置:

#重载mysql配置
service mysqld restart

进入mysql终端,在主库的mysql上注册从库的账号及密码:

#创建远程连接账号密码
GRANT REPLICATION SLAVE ON *.* TO 'slave_username'@'%' IDENTIFIED BY 'slave_password';
#刷新mysql系统权限相关表
flush privileges;
#查看是否建立完成
select user from mysql.user where user='slave_password';

【slave_username从库账号,slave_password从库密码】

配置完后可以检查主库的配置状态

show master status;

  • File:binlog日志的名字
  • Position :接入点 
  • Binlog_Do_DB :需要复制的数据库
  • Binlog_Ignore_DB :不需要复制的数据库
  • Executed_Gtid_Set:写入binlog日志的事务产生的Gtid的集合

切换从服务器打开从服务器的mysql配置

在mysqld下面加上这一段,

#主服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay
#启用二进制日志
log-bin=mysql-bin

重载配置:

show master status;

如果曾经配置过主从,则需要先重启服务器再进行配置

#停止从服务
stop slave;
#重置master
reset master;

 然后进行主从连接

CHANGE MASTER TO MASTER_HOST='主服务器IP地址', //服务器ip地址
MASTER_USER='远程连接账号',                                           //slave_username
MASTER_PASSWORD='远程连接密码',                                //slave_password
MASTER_LOG_FILE='主库binlog日志名称',                          //FIle
MASTER_LOG_POS=主库接入点;                                        //postion

 主从连接成功后开启同步功能

# 开启同步功能

start slave;

#查看从库状态

show slave status\G;

注意:Slave_IO_Running和Slave_SQL_Running的状态都为Yes时,说明从库配置成功。

主从测试

(1)、在主库上创建jgyw模式,即:

create schema jgyw;

(2)、在主库上的jgyw模式里面创建comm_config表,即:

use jgyw;
CREATE TABLE comm_config (configId varchar(200) NOT NULL ,configValue varchar(1024) DEFAULT NULL ,description varchar(2000) DEFAULT NULL ,PRIMARY KEY (configId)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

(3)、在主库上往comm_config表中插入一条记录,即:

insert into comm_config(configId, configValue, description) values('name', '架构与我', '测试一下');

 

(4)、在从库上查看模式,即:

show schemas;

结果为:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| jgyw               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

说明jgyw模式同步到从库了

(5)、在从库上查看jgyw模式下的表及数据,即:

use jgyw;
show tables;

结果为:

+----------------+
| Tables_in_jgyw |
+----------------+
| comm_config    |
+----------------+
1 row in set (0.00 sec)

说明表也同步好了,再查看数据,即:

select * from comm_config;

结果为:

+----------+--------------+--------------+
| configId | configValue  | description  |
+----------+--------------+--------------+
| name     | 架构与我     | 测试一下     |
+----------+--------------+--------------+
1 row in set (0.00 sec)

说明数据也同步过来了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值