mysql 主从数据库配置_8、MySQL主从数据库配置

1 数据库高可用实现

1.1 主从复制搭建

1.1.1 编辑主数据库

搭建步骤:

1.为数据库创建服务ID号标识数据库

2.需要开启二进制日志文件

3.查询数据的二进制日志状态(文件名称+文件的位置)

4.从库引入主库的文件进行配置

4.1为从库指定主库的位置

1.IP

2.端口3306

3.用户名和密码

4.二进制文件名称和位置

4.2 启动主从模式

1.2 具体实现过程

1.2.1 开启二进制文件

1.编辑mysql的配置文件

887a56b51a4ebdf874cfb29d2ed2f603.png

2.配置id和文件名称

7d01c4aad7b606cee2478f1c27a4de2b.png

3.重启Mysql服务

b3ff37bd43b04bd8129f493cc45cae49.png

4.检测二进制日志文件是否生效

cd /var/lib/mysql

a8e8bbcf96a138c9fb205e8966a41ff9.png

1.2.2 查询主库的状态

说明:通过查询主库的状态获取二进制日志文件的名称和数据位置

6ae0408b37647998ca0cfa35488d7932.png

1.3 配置从数据库

1.3.1 配置从库的标号

说明:编辑从库Id.

3925601f1f58788d801edc903699efc7.png

2.编辑日志文件

20ebc1cd25f2854dc1901c43aa6e0adb.png

3.重启数据库

service mysql restart

607b4d02c576d49f97ad9a3ca76a5f5d.png

4.检测日志文件

cd /var/lib/mysql/

85dfe59f92f0058c939b7a89e583d4d5.png

1.4实现主从

1.4.1 实现主从挂载

1.实现挂载

CHANGE MASTER TO MASTER_HOST="192.168.126.137",

MASTER_PORT=3306,MASTER_USER="root",

MASTER_PASSWORD="root",

MASTER_LOG_FILE="mysql-bin.000001",MASTER_LOG_POS=120

2.开启主从服务

#开启主从服务

START SLAVE

3.检测主从的状态

说明:如果出现2个yes表示主从配置成功

#检测主从状态

SHOW SLAVE STATUS

5887c22e27b7dda3bf10d84d3a219001.png

4.主从测试

说明:修改主库的数据,查询从库的数据是否修改

a213e40d26192a8d71f418d676176a5c.png

1.4.2 挂载错误

CHANGE MASTER TO MASTER_HOST="192.168.126.137",

MASTER_PORT=3306,MASTER_USER="root",

MASTER_PASSWORD="root",

MASTER_LOG_FILE="mysql-bin.000001",

MASTER_LOG_POS=120

#开启主从服务

START SLAVE

#检测主从状态

SHOW SLAVE STATUS

#如果出现yes/no no/yes

STOP SLAVE

#将主库重启 从库重启 依次执行上述语句

1.5 挂载错误集

1.5.1 关于二进制日志文件多个问题

说明:当重启主数据库时,Mysql会自动的生成一个新的二进制日志文件,并且名称是累加的.这时如果实现主从挂载时,应该以show master status 为准

1.5.2 切记不要复制mysql虚拟机

/var/lib/mysql/auto.cnf

d81502b1833b5519570f05e412b2424d.png

1.5.3 关闭防火墙

如果不关闭防火墙,会出现一直在等待的状态.

1.5.4 查看IO异常信息

1.5.5 回滚mysql

说明:将linux回滚,回滚之后重新配置

3 实现数据库的高可用

3.1 高可用的原则

3.1.1 分析

1219182f0b5948512ffb4131268b33a5.png

说明:上图中已经实现了数据库的主从复制,但是如果主数据宕机后,这时整个服务将会停止!!!

升级:通过某些技术手段可以实现高可用.但是会遇到数据如何同步的问题???

说明:当主库宕机后,由从库代替主库完成更新操作,如果主数据库成功启动,这时会出现从数据库和主数据库中的内容不匹配的现象??如何处理???

3.2 双机热备模式

3.2.1 双机热备模式说明

说明:为了满足数据库高可用后出现数据不同步的问题,采用双机热备的形式解决该问题.

图例:

36f4046ad078843adb050fe05f6cf20f.png

说明:双机热别的形式,是实现数据库高可用的前提条件.当A宕机后,通过mycat实现高可用自动切换到B.这时B持续为用户提供服务,并且将”更新”的信息写入二进制日志文件中,当A数据库启动后会自动的同步数据,最终实现高可用!

3.2.2 双机热备的配置

之前:A主----B从机

现在:B主机---A从机

查询主库的状态

e01e3a6c937ea985620685b65505464e.png

从库挂载主库

#挂载从机

CHANGE MASTER TO MASTER_HOST="192.168.126.141",

MASTER_PORT=3306,MASTER_USER="root",

MASTER_PASSWORD="root",

MASTER_LOG_FILE="mysql-bin.000001",

MASTER_LOG_POS=120

#启动主从服务

START SLAVE

#检测主从状态

SHOW SLAVE STATUS

681dd57201d700c2dc5fb14018dedcf5.png

测试结果

向B数据库添加信息,查看A数据库中是否实现数据同步.如果实现数据同步,则搭建完成

5d8043baec1ffa186da615edbc63a72c.png

3.3 Mycat介绍

3.3.1 Mycat介绍

d81e94b511ccc55c08b9893bff7df667.png

3.4 MyCat部署

3.4.1 配置JDK

ef7c124431bcb28c0428423fdcf807e0.png

3.4.2 上传文件

1.上传文件

2.解压Mycat文件

\

3.修改配置文件

43db940718bffc79e70e8c3616596931.png

3.4.3 Server.xml的配置

77a914c49de5058d6091495ae4bcb2ac.png

3.4.4 配置schema.xml

select 1

3.4.6 Mycat测试

说明:启动Mycat

命令:

./mycat stop

./mycat start

2.检测Mycat启动是否成功

去logs日志下检测Mycat启动是否成功

be42bc5744aec64c57365b2642517d23.png

Mycat对外报错的端口是8066

3.4.7 Mycat测试

说明:将主数据库关闭后,测试应用是否正常.再次开启主数据库后检测数据是否实现数据同步.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值