linux mysql5.7.25 主从复制_生产版本
创始人
2024-02-13 20:27:18
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验证数据复制

在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...