centos7 mysql 基本测试(6)主从简单测试

news2024/11/24 17:38:50

centos7 xtrabackup mysql 基本测试(6)主从简单测试

mysql -u etc -p
1234aA~1

参考:
centos7 时区设置 时间同步
https://blog.csdn.net/wowocpp/article/details/135931129

Mysql数据库:主从复制与读写分离
https://blog.csdn.net/m0_71815887/article/details/137112591

CentOS7-MySQL-主从
https://blog.csdn.net/super_lixiang/article/details/82595001

MySQL-主从架构的搭建
https://developer.aliyun.com/article/1409013

centos7搭建mysql主从
https://www.jianshu.com/p/cbfbee2a662b

如何在centos7中搭建传统的mysql主从
https://jingyan.baidu.com/article/380abd0aacb63d5c90192cad.html

MySQL主从复制《主库已经有数据的解决方案》《几种复制模式》
https://blog.csdn.net/weixin_41309035/article/details/136157363

需要两台 虚拟机
G:\centos7_mini_1810_server_zhu 192.168.99.40
G:\centos7_mini_1810_server_cong 192.168.99.172

mysql 版本

Server version: 5.7.44 MySQL Community Server (GPL)

时间 同步

timedatectl
centos7 时区设置 时间同步

timedatectl

sudo yum install chrony -y
sudo systemctl enable chronyd
sudo systemctl start chronyd
sudo systemctl status chronyd
对于较旧版本的CentOS系统,没有安装chrony,可以使用ntpdate来完成时间同步。

date // 查看当前时间
timedatectl set-timezone Asia/Shanghai // 设置时区为上海

主服务器设置

ip addr 查看 网卡,有时候 同一个网卡上面 会有两个ip地址。
原因可能是

/etc/sysconfig/network-scripts/ifcfg-ens33

设置 固定的ip地址 192.168.99.40

对 ifcfg-ens33 文件做备份的时候
不要 命名为ifcfg-ens33.bak ,而是要 命名为bak_ifcfg-ens33
ifcfg-ens33.bak 也会被解析,执行。给网卡增加了 第二地址。

查看mysql 数据库 的data地址
mysql -u etc -p
1234aA~1

show variables like '%dir' ;

datadir | /opt/datadir/mysql/

/opt/datadir/mysql

sudo cat my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#datadir=/var/lib/mysql
datadir=/opt/datadir/mysql/
socket=/opt/datadir/mysql/mysql.sock
#socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/opt/datadir/mysql/mysql.sock

创建测试数据库 company_pro

mysql -u root -p
1234aA~1

show databases ;
create database if not exists company_pro;
use company_pro;
DROP TABLE IF EXISTS employee;

drop table if exists employee;
create table employee (
  id int unsigned primary key auto_increment comment 'id'
  , name varchar(50) not null comment '名称'
  , create_time datetime not null default current_timestamp comment '创建时间'
  , update_time datetime not null default current_timestamp on update current_timestamp comment '更新时间'
)  ENGINE=InnoDB charset=utf8 comment '测试表';

DESCRIBE employee ;
insert into employee(name) value ('张三');
insert into employee(name) value ('李四');

创建测试数据库 company_service

mysql -u root -p
1234aA~1

show databases ;
create database if not exists company_service;
use company_service;
DROP TABLE IF EXISTS customer;

drop table if exists customer;
create table customer(
  id int unsigned primary key auto_increment comment 'id'
  , name varchar(50) not null comment '名称'
  , create_time datetime not null default current_timestamp comment '创建时间'
  , update_time datetime not null default current_timestamp on update current_timestamp comment '更新时间'
)  ENGINE=InnoDB charset=utf8 comment '测试表';

DESCRIBE customer;

insert into customer(name) value ('中石化');
insert into customer(name) value ('中石油');

修改主服务器配置文件

sudo vi my.cnf

#for zhu and chong
server-id=40
log-bin=mysql-bin
binlog_format=mixed
binlog_do_db=company_pro
binlog_do_db=company_service

sudo systemctl restart mysqld

在这里插入图片描述

show databases;

show master status ;
show variables like '%log_bin%';
SHOW VARIABLES LIKE 'port';

在这里插入图片描述

sudo systemctl restart mysqld

授权一个用户,用于远程连接主机(relication)

Master的数据库中建立一个复制帐户并授权
在 Master 的数据库中建立一个备份帐户(user = mysqlsyn,pwd=1234aA~1):每个 slave 使用标准的 MySQL 用户名和密码连接 master 。
进行复制操作的用户会授予 REPLICATION SLAVE 权限。
mysql -u root -p
1234aA~1

create user 'mysqlsyn'@'%' identified by '1234aA~1';
grant replication slave,replication client on *.* to 'mysqlsyn'@'%' identified by '1234aA~1';
flush privileges;

可使用SHOW SLAVE STATUS\G;查看从服务器状态,
也可用show processlist \G;查看当前复制状态

放开防火墙权限

sudo systemctl status firewalld
#防火墙开放3306端口号
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo systemctl restart firewalld
#查看防火墙开放端口列表
sudo firewall-cmd --zone=public --list-ports

主服务器备份文件

mysqldump -uroot -p1234aA~1 --default-character-set=utf8 --flush-logs -R company_pro > company_pro.sql
mysqldump -uroot -p1234aA~1 --default-character-set=utf8 --flush-logs -R company_service > company_service.sql

得到文件
company_pro.sql company_service.sql
从机上面远程接收文件
scp jack@192.168.99.40:/home/jack/company_pro.sql .
scp jack@192.168.99.40:/home/jack/company_service.sql .

mysqldump -uroot -p --master-data=1 --single-transaction --routines --triggers --events --all-databases > all.sql

slave 机器查看

测试slave连接master数据库:
192.168.99.40 是master 的 ip地址

mysql -h 192.168.99.40 -u mysqlsyn -p
1234aA~1

show master status ;
确认可以连接

初始化数据

登录slave的 mysql
mysql -u root -p
1234aA~1
create database if not exists company_service;
use company_service;
source /home/jack/company_service.sql;

show databases ;
create database if not exists company_pro;
use company_pro;
source /home/jack/company_pro.sql;

修改slave的配置文件

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#datadir=/var/lib/mysql
datadir=/opt/datadir/mysql/
socket=/opt/datadir/mysql/mysql.sock
#socket=/var/lib/mysql/mysql.sock
# for zhu and chong
server-id=172
log-bin=mysql-bin

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/opt/datadir/mysql/mysql.sock

sudo systemctl restart mysqld
重启

登录slave的 mysql
mysql -u root -p
1234aA~1

初始化

mysql> change master to
    -> master_host='192.168.99.40',
    -> master_user='mysqlsyn',
    -> master_password='1234aA~1',
    -> master_log_file='mysql-bin.000003',
    -> master_log_pos=154;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

/opt/datadir/mysql/auto.cnf
修改一下uuid

https://blog.csdn.net/co1590/article/details/120190659

暂停 从机,然后重启

mysql> stop slave;

重启

mysql> reset slave;
mysql> start slave;

测试主从是否可以

主机端
mysql -u root -p
1234aA~1

show databases ;
use company_pro;
show tables ;
insert into employee(name) value (‘从机测试’);
insert into employee(name) value (‘从机测试726’);
从机端 查看
mysql -u root -p
1234aA~1
show databases ;
use company_pro;
show tables ;
select * from employee ;

可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951192.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【中项】系统集成项目管理工程师-第5章 软件工程-5.3软件设计

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

800G以太网测试之FEC压力测试(FEC统计,FEC Error Injection)

目录 FEC是什么 FEC测试需要关注哪些内容 基础的 FEC 性能监测 需要测试和验证的 FEC 特性 FEC Error Injection / FEC误码压力测试 Codeword & Symbol Error Configuration Errored Symbol Per CW Configuration Bit Error Mask Configuration Loop Mode FEC 引擎…

JavaScript Let

ECMAScript 2015 ES2015 引入了两个重要的 JavaScript 新关键词:let 和 const。 这两个关键字在 JavaScript 中提供了块作用域(Block Scope)变量(和常量)。 在 ES2015 之前,JavaScript 只有两种类型的作…

为边缘开发由生成式 AI 驱动的视觉 AI 智能体

为边缘开发由生成式 AI 驱动的视觉 AI 智能体 文章目录 为边缘开发由生成式 AI 驱动的视觉 AI 智能体什么是可视化 AI 智能体?使用 Jetson 平台服务为边缘构建视觉 AI 智能体构建基于 VLM 的视觉 AI 智能体应用程序VLM AI 服务提示工程与 Jetson 平台服务和移动应用…

针对网络延迟与弱网下的测试

学习的时候看见大佬这样的回复 作为一个测试小白,我心想,这我不得上手试一试 大佬说的工具模拟,大概是指Charles和fiddler两个软件,都可以模拟弱网,但是Charles收费,我拿fiddler练手 另一个故意引入固定百…

21-C语言的结构体尺寸——地址对齐问题

21-C语言的结构体尺寸——地址对齐问题 文章目录 21-C语言的结构体尺寸——地址对齐问题一、CPU 字长二、 地址对齐2.1 原理和原因2.2 地址对齐的主要思想2.3 示例代码说明地址对齐 三、普通变量的M值M值的计算规则例子 四、手动干预M值4.1 规则4.2 例子 五、结构体的M值5.1 例…

每天一个设计模式之职责链模式(第一天)

特别感谢刘伟老师,看他的书我学到了很多东西,从今天开始我要开始更新啦! 在csdn个人博客来总结知识,把他们变成自己的能力。 对三,要不起,张三李四王五几个人在玩斗地主,过过过,一…

谷粒商城实战笔记-错误记录-启动失败

文章目录 一,lombok报错二,Output directory is not specified 一,lombok报错 java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: com.sun.proxy.$Proxy8 Lombok …

靶场实战 _ ATTCK 实战 Vulnstack 红队

环境配置 网络拓扑图 (仅供参考) 攻击机:kali ip:192.168.111.5靶机:web-centos 外网ip:192.168.111.10 内网ip:192.168.93.100web1-ubuntu ip: 192.168.93.120PC ip: 192.168.93.30win 2008 ip:192.168.93.20win 2012 ip:192.168.93.10 信息搜集 端口…

【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)

一、控件概述 Widget 是 Qt 中的核心概念,英文原义是 “小部件”,此处也把它翻译为 “控件”。控件是构成一个图形化界面的基本要素。 像上述示例中的按钮、列表视图、树形视图、单行输入框、多行输入框、滚动条、下拉框都可以称为 “控件”。 Qt 作为…

世界渲染大赛含金量高吗?含金量怎么样?水平要求?

世界渲染大赛,作为全球3D艺术与渲染领域的顶级赛事,以其高含金量和专业水平要求而闻名。这一赛事不仅吸引了世界各地的专业3D艺术家、设计师和技术爱好者的积极参与,更以其严格的评审标准和创新性的主题设置,确保了参赛作品的高质…

C#初级——条件判断语句、循环语句和运算符

条件判断语句 简单的条件判断语句&#xff0c;if()里面进行条件判断&#xff0c;如果条件判断正确就执行语句块1&#xff0c;如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…

一天搞定React(3)——Hoots组件【已完结】

Hello&#xff01;大家好&#xff0c;今天带来的是React前端JS库的学习&#xff0c;课程来自黑马的往期课程&#xff0c;具体连接地址我也没有找到&#xff0c;大家可以广搜巡查一下&#xff0c;但是总体来说&#xff0c;这套课程教学质量非常高&#xff0c;每个知识点都有一个…

git sendemail使用

教程参考&#xff1a; git-send-email - 以电子邮件形式发送补丁集 1、安装git-email 2、配置 SMTP 服务器 git config --global sendemail.smtpserver smtp.163.com git config --global sendemail.smtpserverport 465 git config --global sendemail.smtpuser xxxxxx163.c…

Godot入门 04平台设计

新建创景&#xff0c;添加AnimatableBody2D节点。 添加Sprite2D节点 拖动图片 剪裁图片&#xff0c;吸附模式&#xff1a;像素吸附 添加CollisionShape2D&#xff0c;设置实际形状为矩形 重命名AnimatableBody2D节点为Platform&#xff0c;保存场景&#xff0c;拖动platform场景…

Docker NameSpace隔离

1、dd命令&#xff1a;dd 可从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设 备或标准输出 功能&#xff1a;用于读取、转换并输出数据 语法&#xff1a;dd OPTION 参数 1、 if文件名&#xff1a;输入文件名&#xff0c;默认为…

【第四天】计算机网络知识 HTTP1.0,HTTP1.1与HTTP2.0的区别 HTTP3.0

HTTP1.0&#xff0c;HTTP1.1与HTTP2.0的区别 HTTP1.0 默认是短链接&#xff0c;可以强制开启长连接。HTTP1.1默认长连接。HTTP2.0采用多路复用。 HTTP1.0&#xff1a; 默认使用短链接&#xff0c;每次请求都需要建立一个TCP连接。它可以设置&#xff1a;Connection: keep-aliv…

内网对抗-隧道技术篇防火墙组策略FRPNPSChiselSocks代理端口映射C2上线

知识点&#xff1a; 1、隧道技术篇-传输层-工具项目-Frp&Nps&Chisel 2、隧道技术篇-传输层-端口转发&Socks建立&C2上线Frp Frp是专注于内网穿透的高性能的反向代理应用&#xff0c;支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过…

H264编码标准环路滤波原理

方块效应产生原因 原因 1&#xff1a;最重要的一个原因是基于块的帧内和帧间预测残差的 DCT 变换。变换系数的量化过程相对粗糙&#xff0c;因而反量化过程恢复的变换系数带有误差&#xff0c;会造成在图像块边界上的视觉不连续。原因 2&#xff1a;其次原因自于运动补偿预测。…

FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程

源码见&#xff1a;"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 加入课程 我们先看下加入课程 1.是否登录 2.课程是否存在 3.是否已经存在 4.添加 首先实现逻辑 def get_student_course(db: Session, course: int…