MySQL数据库主从安装配置使用指南

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 本篇文章介绍了在Linux环境中安装MySQL数据库,实现数据库主从配置的详细的指导过程。本文使用的MySQL数据库的一个分支MariaDB实现主从数据库的安装配置。介绍了数据库的安装方法,主从配置的方式,以及针对在配置过程中出现的一些问题,提供一些解决方案。

MariaDB主从安装配置

  • 使用MariaDB做数据库实现主从配置

    • MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区维护,完全兼容MySQL,包括API和命令行,可以作为MySQL的替代品
    • 在存储引擎方面,使用XtraDB代替MySQL的InnoDB
  • 邮件类型:

    • 用户安全类
    • 订单类
    • 统计类
    • 消息类

Linux 7修改IP地址

  • 在网络适配器中生成MAC地址
  • 进入编辑 /etc/sysconfig/network-scripts/ifcfg-eno16777736
  • 修改HWADDRMAC地址,修改IPADDRIP地址
  • 运行service network restart
  • 进入 /etc/hostname修改hostname
  • 运行hostname bhz34

安装MariaDB

配置本地yum源:

  • cd /etc/yum.repos.d/
  • 创建一个文件,以repo结尾:yum.repo
  • 添加如下配置:
name=yum
enabled=1
baseurl=(url地址)
gpgcheck=0
  • 查询是否已经存在MariaDB
systemctl stop mariadb            停止MariaDB服务
rpm -qa | grep mariadb            查询安装包
  • 卸载已经存在的MariaDB
rpm -e mariadb-server
rpm -e mariadb
rpm -e --nodeps mariadb-libs
  • 执行yum安装MariaDB
yum -y install mariadb mariadb-server
  • 复制配置文件
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
  • 配置不区分表名的大小写
vim /etc/my.cnf

在[mysqld]后增加配置
lower_case_table_names=1
  • 启动mariadb服务并开机自动运行
systemctl start mariadb
systemctl enable mariadb
  • 禁用防火墙
systemctl status firewalld        查看防火墙状态
systemctl stop firewalld        停止防火墙
systemctl disable firewalld        设置开机不启用防火墙
  • 配置MariaDB数据库,执行脚本: /usr/bin/mysql_secure_installation,然后根据提示操作
/usr/bin/mysql_secure_installation

MariaDB主从配置

  • 修改 /etc/my.cnf配置文件中的server-id

    • 主节点默认为1,不需要修改
    • 修改从节点的server-id
server-id=2
  • 重启从节点(slave)上的MariaDB
systemctl restart mariadb
  • 在主节点创建主从复制用户并授权Slave
mysql -uroot -proot            登录MariaDB数据库
<mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave';        *.* - 所有权限    % - 任意地址
  • 查询MySQL中主节点(master)的状态
show master status;
  • 配置从节点(slave)
mysql -uroot -proot            登录从节点的MariaDB数据库
<mysql> CHANGE MASTER TO MASTER_HOST='主节点IP',MASTER_USER='主节点授权用户',MASTER_PASSWORD='主节点授权用户密码',MASTER_LOG_FILE='主节点状态中的File',MASTER_LOG_POS='主节点状态中的Position';
  • 查看主从状态验证
show slave status\G;
  • 授权远程root登录,主从数据库都要进行授权
mysql -uroot -proot        登录MariaDB数据库
<mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
<mysql> FLUSH PRIVILEGES;

注意点

  • ==使用MySQL做主从数据库,不允许对从节点数据库进行修改==

解决方案

  • 原因:

    • 程序可能在slave上进行了写操作
    • 可能是slave机器重启后,事务回滚造成的
  • 事务回滚的解决办法:
<mysql> stop slave;
<mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
<mysql> start slave;

  • 首先停掉slave服务
<mysql> slave stop;
  • 进入master服务器查看主机状态,记录FilePosition对应的值
<mysql> show master status;
  • 然后进入slave服务器执行手动同步
<mysql> CHANGE MASTER TO MASTER_HOST='主节点IP',MASTER_USER='主节点授权用户',MASTER_PASSWORD='主节点授权用户密码',MASTER_LOG_FILE='主节点状态中的File',MASTER_LOG_POS='主节点状态中的Position';
  • 最后启动slave数据库
<mysql> start slave;
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
18天前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
28天前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
|
10天前
|
消息中间件 资源调度 关系型数据库
如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理
本文介绍了如何在Flink on YARN环境中配置Debezium CDC 3.0,以实现实时捕获数据库变更事件并将其传输到Flink进行处理。主要内容包括安装Debezium、配置Kafka Connect、创建Flink任务以及启动任务的具体步骤,为构建实时数据管道提供了详细指导。
33 9
|
10天前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
24 3
|
14天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
16天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
35 2
|
17天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
17天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
59 2
|
22天前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
37 1