Linux搭建MySQL主从

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 刚刚搭建了一个简单的MySQL主从,趁着热乎分享给大家
  1. 配置MySQL主从一定要先备份还原,因为我是自己的测试环境,没有多少数据,所以直接用mysqldump -uroot -p --all-databases -B > filename.sql备份就好了。然后在从服务器上还原,mysqldump -uroot -p < filename.sql。

如果是在正式环境上做备份,推荐使用innobackupex。

  1. 备份完之后在主服务器上添加从服务器连接所需要的账号

grant replication client ,replication slave on *.* to slave@'%' identified by '****';

flush privileges;

  1. 在主从上都执行:

set global ENFORCE_GTID_CONSISTENCY = WARN;

set global ENFORCE_GTID_CONSISTENCY = ON;

set global GTID_MODE = OFF_PERMISSIVE;

set global GTID_MODE = ON_PERMISSIVE;

set global GTID_MODE = ON;

  1. 在从服务器上执行:

CHANGE MASTER TO

       MASTER_HOST='192.168.72.72',   # 主服务器IP

       MASTER_USER='slave',                 # 上面创建的账号

       MASTER_PASSWORD='slave',

       MASTER_PORT=6006,                   # 主服务器端口

       MASTER_AUTO_POSITION = 1;

至此,主从应该就搭建好了,执行show slave status;  看到下面两个Yes就行了

image.png

再说几个我遇到的问题吧

  1. 我的第二台机子是在VMware上直接复制的,所以导致两个MySQL的uuid是一样的。uuid存在MySQL的data目录下的auto.cnf文件下,可以直接mv auto.cnf auto.cnf.bak,然后重启MySQL就会重新生成一个。
  2. server_id相同,server_id可以在MySQL的配置文件中配置,也可以set global server_id=***; 但是这是临时的,重启MySQL就会失效。

我的配置文件里面明明之前就配置了,但是没起效果,只好set了一下,去网上看都说写在配置文件里的[mysqld]下就好了,我的原本也在mysqld下,但是没起效果。大家如果知道原因的希望告知,谢谢啦。


这种配置的主从重启之后也会失效,在自己测试环境下要注意。在正式环境下一般也不会重启那么勤。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
29天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
73 3
|
29天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
37 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
94 3
|
2月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
250 1
|
4天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
50 15
|
4天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
8天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
16天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
28天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
35 1