MySQL集群-主从服务器搭建(一主多从)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL集群-主从服务器搭建(一主多从)

硬件信息:CentOS Linux release 7.5.1804 (Core)

主数据库:172.16.116.40

从数据库:172.16.116.42、172.16.116.43

如果已经安装5.5版本需要升级10版本,可以参考:MySQL集群升级从5.5版本升级到10.*以上版本(CentOS7.5 MariaDB集群升级)

安装MySQL服务(主从都需要)


开放数据库默认端口3306,并重载防火墙配置

# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# firewall-cmd --reload

image.png

使用yum安装mysql数据库

yum install mariadb mariadb-server

image.png

启动MySQL数据库(systemctl start mariadb),并查看状态(systemctl status mariadb)

image.png

设置MySQL的root用户密码

set password for 'root'@'localhost' = password('你的密码');

image.png

给root用户最大权限

grant all privileges on *.* to 'root'@'%' identified by 'password';

image.png

进入/etc/目录,先备份配置文件(cp my.cnf my.cnf.bak)

image.png

主服务器配置(172.16.116.40)


配置主服务器

(1)Server-id:是用来标识数据库服务器的,取值在1到(232-1),这里使用数据库服务器ip最后一位来标识当前服务器;

(2)log-bin:二进制日志,用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改;

(3)innodb_flush_log_at_trx_commit和sync_binlog:使用innodb事务进行数据复制,并保证持久和一致。

[mysqld]
server-id=40
log-bin=mysql-bin-40
innodb_flush_log_at_trx_commit=2
sync_binlog=1

image.png

重启数据库,并进入数据库将172.16.116.42和172.16.116.43两台从数据库服务器访问主数据库权限设为最大(新建master用户),然后查看主服务器状态

systemctl restart mariadb;
mysql -uroot -p 密码
grant all privileges on *.* to 'master'@'172.16.116.42' identified by 'password';
show master status;

image.png

记住主数据库的File和Position列的值

image.png

从服务器配置


配置从数据库my.cnf文件

image.png

然后登录mysql执行以下语句

CHANGE MASTER TO
-> MASTER_HOST='172.16.116.40', # 主服务器ip
-> MASTER_USER='master', # 主服务器上创建的用户
-> MASTER_PASSWORD='你配置的主服务器密码', # 密码
-> MASTER_LOG_FILE='mysql-bin-40.000001', # 为master中的二进制日志文件,刚刚记住的File
-> MASTER_LOG_POS=565; # 刚刚记住的Position

开启从数据库服务(start slave;)

image.png

查看从服务器状态(show slave status;),\G分行,以下配置正常,并且从服务器IO和SQL服务正常

image.png

测试:在主服务器上新建distributed_test数据库(只能主服务器写,否则会出错),正常同步到了两台从数据库。至此,MySQL主从服务器配置完成。

20190718182837254.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
关系型数据库 MySQL 网络安全
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
这篇文章提供了解决Navicat无法连接腾讯云服务器上MySQL问题的步骤,包括调整防火墙设置、更新MySQL权限和检查远程连接配置。
有关使用Navicat 无法成功连接腾讯云服务器上Mysql的问题解决
|
4天前
|
负载均衡 算法 关系型数据库
MySQL集群如何实现负载均衡?
【8月更文挑战第16天】MySQL集群如何实现负载均衡?
22 6
|
1天前
|
关系型数据库 MySQL Linux
数据类型和运算符(MySQL服务器的安装,MySQL客户端,数据类型,运算符,MySQL的语法规范)
无论是对于初学者还是有经验的开发者,了解MySQL的安装、客户端使用、数据类型、运算符和语法规范都是至关重要的。这不仅有助于高效地管理和查询数据,而且对于设计和实现数据库解决方案来说是基础工作。通过深入学习和实践这些知识,您可以更好地发挥MySQL数据库的强大功能。
8 2
|
4天前
|
存储 负载均衡 关系型数据库
MySQL集群
【8月更文挑战第16天】MySQL集群
19 5
|
4天前
|
SQL 负载均衡 关系型数据库
*配置MySQL集群
【8月更文挑战第16天】*配置MySQL集群
12 2
|
8天前
|
SQL 关系型数据库 MySQL
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
Nacos 1.2.1 集群搭建(二)MySQL、cluster 配置
26 1
|
21天前
|
SQL 弹性计算 资源调度
云服务器 ECS产品使用问题之bin/spark-sql --master yarn如何进行集群模式运行
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
27天前
|
运维 关系型数据库 MySQL
面试题MySQL问题之MySQL集群的单点失效如何解决
面试题MySQL问题之MySQL集群的单点失效如何解决
58 2
|
5天前
|
SQL Ubuntu 关系型数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
8 0
|
27天前
|
缓存 监控 关系型数据库
MySQL PXC 集群死锁分析案例
前不久一个系统死锁导致部分业务受到影响,今次补上详细的节点日志分析过程。
38 1

热门文章

最新文章