小工具      在线工具  汉语词典  css  js  c++  java

MAC下Centos7 搭建Mysql主从数据库

Linux,Java,软件&&安装 额外说明

收录于:43天前

1、主从复制原理如下图

2.环境搭建前的准备工作

准备条件:2台Mac电脑,通过虚拟机安装Centos7。首先,在两台Centos7系统上安装Mysql8.0。安装方法见我之前的文章。

Mac-A的Centos地址是192.168.1.103,这是主数据库。

Mac-B的Centos地址为192.168.1.106,为从数据库。

因为我们的Linux系统是安装在虚拟机上的,所以为了实现主从复制,首先要保证192.168.1.103和192.168.1.106主机能够ping通。

(0)将虚拟机网络设置为wifi模式,这样就可以分配192.168.1.X的IP地址,同时连接到局域网。

(1)关闭两台Linux机器的防火墙

查看状态:systemctl statusfirewalld

停止防火墙:systemctl stopfirewalld.service

禁用防火墙启动:systemctl禁用firewalld.service

(2)打开3306端口并写入注册表

iptables -I 输入 -p tcp --dport 3306 -j 接受

service iptables save 保存到注册表

成功写入返回数据: iptables: Saving防火墙规则到/etc/sysconfig/iptables:[ OK ]

(3)测试两台机器是否可以通讯

在主机中:ping 192.168.1.106,看是否有数据返回。

在从机中:ping 192.168.1.103,看是否有数据返回。

3、主要数据库配置

vim /etc/my.cnf 添加以下字段:

完成my.cnf内容cat /etc/my.cnf:

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
pid-file=/data/mysql/mysql.pid
log-error=/data/mysql/error.log
tmpdir=/tmp
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

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

启动mysql:service mysql start 显示:Starting MySQL SUCCESS!

登录mysql:cd /usr/local/mysql/bin

./mysql -u root -p

为slave创建授权登录:create user 'slave'@'192.168.1.106'identified by '123456';

使用mysql;

查询授权用户:从用户中选择主机、用户;

修改权限

使用 GRANT 选项将 *.* 上的所有权限授予 'slave'@'192.168.1.108';

同花顺特权;刷新即可生效

Show host status:显示master状态;在这里可以获取主机日志文件名和日志当前位置

#记录File和Position的值

#执行完这一步后,不要再操作主服务器MySQL,防止主服务器的状态值发生变化。

4.从库配置

1. 授权账号及密码验证

在从机的终端中测试主机授权的账号和密码是否可用。如果可以使用,说明master上给slave的授权是OK的。

cd /usr/local/mysql/bin

./mysql -u root -p

./mysql -u 从属-p -h 192.168.1.103

123456

2.从属vim /etc/my.cnf配置信息

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
pid-file=/data/mysql/mysql.pid
log-error=/data/mysql/error.log
tmpdir=/tmp
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

# 修改配置文件:vim /etc/my.cnf 
#从服务器唯一ID
server-id=2
#启用中继日志 
relay-log=mysql-relay

3.启动slave mysql并执行mysql命令

启动从库:service mysql start 显示:Starting MySQL SUCCESS!

登录从机mysql:cd /usr/local/mysql/bin

./mysql -u root -p

#在从机mysql中执行下面的命令
#复制主机的命令
CHANGE MASTER TO MASTER_HOST='192.168.1.103',
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000003', 
MASTER_LOG_POS=481;

#从服务器启动复制功能

启动奴隶;

#查看从服务器状态 show Slave status\G;如下:(数据较多,方便显示,/G代表列显示)

5、主从复制测试【新建数据库、新建表、在主机上插入记录、从从机复制】

在主机上创建数据库testDB,创建表,插入数据:

创建数据库testDB;

创建表 mytable(id int, name varchar(20));

插入mytable value(1, 'zhangsan');

如果此时查看从机数据,可以看到主机上刚刚创建的数据库和表数据已经自动复制到从机mysql中,如下:

如何停止slave服务复制功能stop Slave;

启动从机:启动从机;

重制从机:重置从机;

如何重新配置​​master和slave:停止slave;

重置主机;

以上就是主从数据库同步的环境搭建。

. . .

相关推荐

额外说明

如何应对热点数据

热查询场景   为什么要搞热点数据 如下,如果将数据全搞到内存中,那怕有分片,万一就是有一客户,请求都打到分片2上怎么办。因为机器内存是有限的。   虽然主从可以处理,但太耗资源   将数据放到前置缓存   怎么发现热点数据     限流:兜底   前端

额外说明

rabbitmq 一般启动或服务启动

    rabbitmq_managemen是管理后台的插件、我们要开启这个插件才能通过浏览器访问登录页面 进入到sbin目录下:rabbitmq-plugins enable rabbitmq_management     一般启动:   服务启动 执

额外说明

dubbo负载均衡策略配置

前言 在生产环境中,服务的集群部署是常有的事,从消费端来说,本身并不关注所需要的服务是由哪台机器提供,但是为了应用的健壮性和高可用性,从消费端来说,可以配置一定的负载均衡策略,确保消费端的应用能够及时获取到服务的响应数据 dubbo负载均衡策略 dubb

额外说明

es通过mapping创建索引出错

问题描述: 最近,我在es中创建索引的时候报出奇怪的错误,问题描述大致如下,这个错误后来验证后发现不少同学也遇到过,主要是es版本的差异造成的, Caused by: ElasticsearchException[Elasticsearch except

额外说明

Spring高手之路10——解锁Spring组件扫描的新视角

文章目录 1. 组件扫描路径 2. 按注解过滤组件(包含) 3. 按注解过滤组件(排除) 4. 通过正则表达式过滤组件 5. Assignable类型过滤组件 6. 自定义组件过滤器 7. 组件扫描的其他特性 7.1 组合使用组件扫描 8. 组件扫描的组

额外说明

Java成神路 —— 类加载器

文章目录 1.1 类加载 1. 类加载的描述 2. 类的加载 3. 类的连接 4. 类的初始化 5. 类的初始化步骤 6. 类的初始化时机 1.2 类加载器 1. 类加载器的作用 2. JVM的类加载机制 3. Java中的内置类加载器 4. Class

额外说明

Java案例:利用dom4j解析XML文件

文章目录 一、XML概述 二、dom4j概述 (一)什么是dom4j (二)解析XML性能优异 (三)dom4j针对XML标准定义的实现 三、dom4j使用示例 (一)创建Maven项目 (二)解析XML文档 1、准备XML文档 2、创建解析方法 3、创

额外说明

[设计模式-创建型]建造者(Builder)

概括 名称 Builder 结构 动机 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 当构造过程必须允许被构造的对象有不同的表示时。 解析 形象比

额外说明

全网超详细的【Axure】Axure RP 9的下载、安装、中文字体、授权

文章目录 1. 文章引言 2. 下载Axure9 3. 安装Axure9 4. Axure9中文 5. Axure9授权 1. 文章引言 最近在学习原型图,针对画原型图的工具,反复对比墨刀、Axure、xiaopiu后,最终选择了Axure。 接下来,我

额外说明

运动【跑步 01】一个程序员的半马挑战:跑前准备+跑中调整+跑后恢复(经验分享)

1.半程马拉松 二分之一马拉松,英文:Half Marathon,路程长度是21.0975公里(13.1英里)。半程马拉松的程长很有挑战性,但对跑步者的要求不像全程马拉松那么严苛。 我属于业余跑步,所以这里没有很多专业的知识,只是一些经验分享,首先是安全

ads via 小工具