首页 > 数据库 >MySQL 8.3.0 主从热备

MySQL 8.3.0 主从热备

时间:2024-06-12 15:30:25浏览次数:23  
标签:8.3 MySQL 热备 master user mysql rpm el7

IP角色版本
192.168.140.1538.3.0
192.168.140.1598.3.0

一、准备环境

1、卸载mariadb
rpm -qa | grep mariadb
rpm -e mariadb-libs --nodeps
2、安装依赖
yum -y install perl

二、安装MySQL

1、下载安装包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar
2、解压
tar -xvf mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar
3、安装
rpm -ivh mysql-community-common-8.3.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.3.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-8.3.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-8.3.0-1.el7.x86_64.rpm
4、启动服务
systemctl start mysqld
systemctl status mysqld

三、配置

1、修改密码并授权
# 查找初始密码
grep password /var/log/mysql.log

# 登录mysql
mysql -u root -p

# 重置密码(必须先重置,才允许执行其它操作)
mysql> alter user root@'localhost' identified with mysql_native_password by 'new_password';

# 授权
mysql> use mysql;
mysql> update user set host="%" where user="root";
mysql> select user,host from user where user='root';
+------+------+
| user | host |
+------+------+
| root | %    |
+------+------+
1 row in set (0.00 sec)
mysql> grant all on *.* to root@'%';
mysql> flush privileges;
2、修改配置文件
# 主服务器配置文件添加下面内容
server-id=1
log-bin=master_bin

# 从服务器配置文件添加下面内容
server-id=2

# 修改配置后重启服务
systemctl restart mysqld
3、创建同步账号(主服务器执行)
mysql -u root -p
mysql> use mysql;
# 创建同步使用的账号
mysql> create user master@'192.168.140.159' identified with mysql_native_password by 'password';
# 授予权限
mysql> grant replication slave on *.* to master@'192.168.140.159';
mysql> flush privileges;

# 查看master信息
mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master_bin.000001 |     1599 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set, 1 warning (0.00 sec)
4、开启同步(从服务器执行)
# 关闭同步
mysql> stop slave;
# 修改同步信息
mysql> change master to master_host="192.168.140.153",master_user="master",master_password="password",master_log_file="master_bin.000001",master_log_pos=1599;
# 开启同步
mysql> start slave;
# 查看同步状态
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: 192.168.140.153
                  Master_User: master
                  Master_Port: 3306
              Master_Log_File: master_bin.000001
                Relay_Log_Pos: 1371
        Relay_Master_Log_File: master_bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
                   Last_Errno: 0
             Master_Server_Id: 1
                  Master_UUID: 9ce1fe4b-1c9c-11ef-9e0a-000c2961bacc
             Master_Info_File: mysql.slave_master_info
      Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates

四、测试

1、新建数据库和表,并新增数据(主服务器执行)
# 创建库
mysql> create database test;
# 创建表
mysql> use test;
mysql> create table student ( id int auto_increment primary key, name varchar(50) not null, age int);
# 新增数据
mysql> insert into student (name,age) values ("final",15);
mysql> insert into student (name,age) values ("zhangsan",16);
mysql> insert into student (name,age) values ("lisi",19);
2、查询是否同步(从服务器查看)
mysql> select * from student;
+----+----------+------+
| id | name     | age  |
+----+----------+------+
|  1 | final    |   15 |
|  2 | zhangsan |   16 |
|  3 | lisi     |   19 |
+----+----------+------+
3 rows in set (0.00 sec)

标签:8.3,MySQL,热备,master,user,mysql,rpm,el7
From: https://blog.csdn.net/weixin_44295677/article/details/139621985

相关文章

  • Mariadb版本的JDBC驱动,连接云上Mysql出现连接超时
    记录一下一个小问题的解决,Mariadb驱动连接云上Mysql的时候,如果频繁连接偶尔出现读取超时的现象。通过分析报错的堆栈发现,在 org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol#postConnectionQueries这个方法里面有一个判断,usePipelineAuth默认为true,导致设置sock......
  • 【MySQL随缘更】存储过程
    文章目录一、存储过程概述1.1、什么是存储过程1.2、存储过程特点1.3、存储过程优缺点二、存储过程创建2.1、创建格式2.2、变量2.3、变量作用域三、存储过程参数3.1、in3.2、out3.3、inout四、存储过程条件4.1、if…else…endif4.2、if…elseif…else…endif4.3、cas......
  • mysql常用的聚合函数---汇总数据
    此篇文章内容均来自与mysql必知必会教材,后期有衍生会继续更新、补充知识体系结构文章目录AGV()count()根据需求可以进行组合处理max()min()max()、min()、avg()组合使用汇总数据AGV()AVG():1、单列使用AVG();2、多列求平均值的情况下必须使用多个agv()语法:selectav......
  • 深入探究MySQL游标(Cursor)
    前言MySQL游标(Cursor)是MySQL中用于处理查询结果的一种机制。游标允许我们在查询结果集中逐行处理数据,而不是一次性获取所有数据。这对于处理大量数据非常有用,因为它可以减少内存消耗并提高性能。在MySQL中,游标主要用于存储过程和函数。一、游标的概念游标是一个数据库对......
  • 【接口自动化测试框架练习】springboot+react+mysql~极简版postman
    可以说是一个toyprogram,chatgpt完成了一部分工作,我也完成了一部分工作,我俩合作的,我占百分之80%,他百分之20%,哈哈没他不行,源码奉上。https://github.com/Jinwenxin/test-api-frontend1.功能简介:分成三部分,如左侧导航栏所示:测试用例管理:测试用例的增删改查以及运行测试套件管理......
  • mongodb的安装使用、mongodb与redis,memcache,mysql的区别优缺点 以及 好用的MongoDB
    一、mongodb的安装使用、与redis,memcache,mysql的区别优缺点    MongoDB是一个介于关系数据库和非关系数据库之间的基于分布式文件存储的数据库。是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数......
  • 50.基于SSM的停车场管理系统的设计与实现|基于SSM+ Mysql+Java设计与实现(可运行源码+
    内容概要:全套项目源码+详尽文档,一站式解决您的学习与项目需求。适用人群:计算机、通信、人工智能、自动化等专业的学生、老师及从业者。使用场景及目标:无论是毕设、期末大作业还是课程设计,一键下载,轻松部署,助您轻松完成项目。项目代码经过调试测试,确保直接运行,节省您的时......
  • 【mysql】PROCESSLIST 查看运行中的线程
    发现mysql语句查询响应特别慢,想看一下mysql现时正在做什么事情?通过以下语句,可以看mysql有哪些线程正在运行,也可以帮助定位问题。比如有一些运行特别久的语句。用这个语句看一下:showprocesslistshowfullprocesslist或者用这个语句:select*frominformation_schema.`......
  • MySql 增、删、改、查数据库
    前言之前几天写了MySql的GROUPBY语句和JOIN语句,今天补一下创建数据库、表的语句。首先假设已经暗转好MySQL数据库,然后创建数据库、表。创建数据库createdatabase[ifnotexists]数据库名;[CHARACTERSETcharset_name][COLLATEcollation_name];ifnote......
  • MySQL 分页优化
    不需要担心数据库性能优化问题的日子已经一去不复返了。随着时代的进步,随着野心勃勃的企业想要变成下一个Facebook,随着为机器学习预测收集尽可能多数据的想法的出现。作为开发人员,我们要不断地打磨我们的API,让它们提供可靠和有效的端点,从而毫不费力地浏览海量数据。如果你......