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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云防火墙,500元 1000GB
简介: 本篇文章介绍了在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;
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
330 93
|
5月前
|
关系型数据库 MySQL 数据库连接
Django数据库配置避坑指南:从初始化到生产环境的实战优化
本文介绍了Django数据库配置与初始化实战,涵盖MySQL等主流数据库的配置方法及常见问题处理。内容包括数据库连接设置、驱动安装、配置检查、数据表生成、初始数据导入导出,并提供真实项目部署场景的操作步骤与示例代码,适用于开发、测试及生产环境搭建。
218 1
|
2月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
385 7
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
516 5
|
2月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
340 11
|
5月前
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
374 3
Jasypt加密数据库配置信息
|
4月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
420 0
|
7月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
756 30
|
6月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
455 11
|
7月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1761 26

推荐镜像

更多