linux mysql5.7.25 主从复制_生产版本
创始人
2024-04-13 04:44:56
0

文章目录

          • 一、安装配置
            • 1. 部署总览
            • 2. 下载软件
            • 3. 解压重命名
            • 4. 创建组
            • 5. 安装数据库
            • 6. 配置my.cnf
            • 7. 添加开机启动
            • 8. 配置数据木库
            • 9. 启动mysql
            • 10. 登录修改密码
            • 11. 允许远程连接
          • 二、master节点主从
            • 2.1. 主从复制账号创建
            • 2.2. 创建主从复制的账号
            • 2.3. 账号授权
            • 2.4. 查看同步bin-log
            • 2.5. 开放防火墙
          • 三、133从节点
            • 3.1. 创建复制链路
            • 3.2. 建立复制的链路
            • 3.3. 启动链路
          • 四、测试主从复制
            • 4.1. master操作
            • 4.2. slave验证数据复制

一、安装配置
1. 部署总览
服务器端口说明
192.168.52.1223306master
192.168.52.1233306master
2. 下载软件
mkdir /app
cd /app
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
3. 解压重命名
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
4. 创建组

等待解压完毕后执行

groupadd mysql
useradd -r -g mysql mysql
5. 安装数据库
cd /app/mysql-5.7.25
chown -R mysql:mysql ./
bin/mysqld --initialize --user=mysql --basedir=/app/mysql-5.7.25 --datadir=/app/mysql-5.7.25/data

生成了临时密码(ehAhDfgn97)O) 要复制出来,等会用
在这里插入图片描述

122节点默认密码,复制到txtx文本中,等会用
%ci5&rob2DAl

123节点默认密码,复制到txtx文本中,等会用
F:zVnky+C7AK

6. 配置my.cnf
  • 122节点配置内容如下
vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/app/mysql-5.7.25
datadir=/app/mysql-5.7.25/data
socket=/tmp/mysql.sock
#忽略大小写
lower_case_table_names = 1
# 不开启严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/app/mysql-5.7.25/data/mysqld.pid#开启日志 
log-bin = mysql-bin
#设置服务id,主从不能一致  ,一般设置为ip最后一段
server-id = 122
#设置需要同步的数据库 
binlog-do-db=pis_data
#屏蔽系统库同步 
binlog-ignore-db=mysql 
binlog-ignore-db=information_schema 
binlog-ignore-db=performance_schema
  • 123节点配置内容如下
vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/app/mysql-5.7.25
datadir=/app/mysql-5.7.25/data
socket=/tmp/mysql.sock
#忽略大小写
lower_case_table_names = 1
# 不开启严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/app/mysql-5.7.25/data/mysqld.pid#开启日志 
log-bin = mysql-bin
#设置服务id,主从不能一致  ,一般设置为ip最后一段
server-id = 123
#设置需要同步的数据库 
binlog-do-db=pis_data
#屏蔽系统库同步 
binlog-ignore-db=mysql 
binlog-ignore-db=information_schema 
binlog-ignore-db=performance_schema

说明:主从复制主节点一定要开启 log-bin = mysql-bin,从节点监听log-bin日志完成数据复制的,因此这个配置是主从复制的关键

7. 添加开机启动
cp /app/mysql-5.7.25/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
8. 配置数据木库
vim /etc/init.d/mysqld  

添加路径 在46行

basedir=/app/mysql-5.7.25
datadir=/app/mysql-5.7.25/data/
9. 启动mysql
service mysqld start 
10. 登录修改密码
  • 122节点
cd /app/mysql-5.7.25/bin
./mysql -uroot -p
%ci5&rob2DAl
  • 123节点
cd /app/mysql-5.7.25/bin
./mysql -uroot -p
F:zVnky+C7AK
  • 修改密码
alter user 'root'@'localhost' identified by '123456';   
flush privileges;
11. 允许远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 
二、master节点主从

122节点(master)

2.1. 主从复制账号创建

在MySql主机node1节点上,创建mysql 主从复制的账号

cd /app/mysql-5.7.25/bin
./mysql -uroot -p

密码:123456

2.2. 创建主从复制的账号

create user ‘im_repl’@‘192.168.52.%’ identified by ‘123456’;

2.3. 账号授权

给主从复制的账号赋予操作所有对象的replication slave权限

grant replication slave on *.* to 'im_repl'@'192.168.52.%'; 
2.4. 查看同步bin-log
show master status;
  • 操作记录
[root@localhost bin]# ./mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.25-log MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show master status;
+------------------+----------+--------------+---------------------------------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                            | Executed_Gtid_Set |
+------------------+----------+--------------+---------------------------------------------+-------------------+
| mysql-bin.000001 |      154 | pis_data     | mysql,information_schema,performance_schema |                   |
+------------------+----------+--------------+---------------------------------------------+-------------------+
1 row in set (0.00 sec)mysql> exit
2.5. 开放防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
三、133从节点

123节点(slave)

3.1. 创建复制链路

登陆数据库

cd /app/mysql-5.7.25/bin
./mysql -uroot -p

输入密码:123456

3.2. 建立复制的链路
change master to master_host='192.168.52.122',master_user='im_repl',master_password='123456',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;

说明:MASTER_LOG_FILE=‘mysql-bin.000001’, MASTER_LOG_POS=154 这项信息就是从主节点查看bin-log信息获取的

3.3. 启动链路
start slave;
四、测试主从复制
4.1. master操作

创建数据库、初始化表结构

create DATABASE pis_data;
use pis_data;
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for gblfy_test
-- ----------------------------
DROP TABLE IF EXISTS `gblfy_test`;
CREATE TABLE `gblfy_test`  (`id` int(11) NOT NULL,`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of gblfy_test
-- ----------------------------
INSERT INTO `gblfy_test` VALUES (1, 'gblfy');
INSERT INTO `gblfy_test` VALUES (2, 'gblfy');
INSERT INTO `gblfy_test` VALUES (3, 'gblfy');
INSERT INTO `gblfy_test` VALUES (4, 'gblfy');
INSERT INTO `gblfy_test` VALUES (5, 'gblfy');
INSERT INTO `gblfy_test` VALUES (6, 'gblfy');
4.2. slave验证数据复制

在这里插入图片描述

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...