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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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
目录
相关文章
|
2月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
54 3
|
2月前
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
81 1
|
2月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
57 0
|
2月前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
87 6
|
2月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
50 4
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
80 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
38 3
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
60 3
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
77 3
|
2月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
914 1