三十分钟学会 单节点mysqlmysql主从搭建 (保姆级无坑教程)

发布时间:2026/9/11 9:46:23

三十分钟学会 单节点mysqlmysql主从搭建 (保姆级无坑教程) 目录1、准备安装包2、上传安装包到服务器3、分发安装包给其他两台服务器4、安装单机版MySQL1、解压安装包我这里直接对三个服务器一起进行哈后续要搭建mysql的主从1卸载系统中自带的数据库2 解压安装包3 mysql环境变量配置4创建mysql用户组5创建数据目录6创建mysql数据库配置文件7初始化数据库8启动数据库9登录mysql并修改密码10远程客户端连接mysql5、集群版Mysql1架构图​编辑2 主节点配置 192.168.10.113从节点1配置4从节点2配置 和节点1 一致 的代码哈5 解锁 主节点的写数据权限6在主节点创建数据库 数据表并写入数据经过博主的努力终于是把最基础的东西敲完了虚拟机已经搭建好了。没有搭建虚拟机的宝子看这里 Linux Centos7从零到一的安装保姆级教程网络、SSH免密、克隆 博主带你玩转虚拟机及大数据-CSDN博客不熟悉liinux命令的宝子看这里从零开始的大数据之路 linux基础篇一次学会永不回头1_大数据中卸载和解压命令-CSDN博客本次讲解mysql的搭建因为mysql5.7的功能已经不及现在8.0 版本的性能所以我这里就以搭建8.0 的mysql来为大家详细讲解 linux中mysql 8.0 无坑版本的搭建1、准备安装包没有安装包的看这里大数据之路 安装包分享 你想要的我都有系列 [持续更新分享]-CSDN博客2、上传安装包到服务器3、分发安装包给其他两台服务器# 因为我刚刚是把文件上传到master节点 如果你不是上传到master需要进行替换的哦 scp -r install_package/ rootslave1:$PWD scp -r install_package/ rootslave2:$PWD4、安装单机版MySQL1、解压安装包我这里直接对三个服务器一起进行哈后续要搭建mysql的主从1卸载系统中自带的数据库#查看系统中有没有 maria rpm -qa|grep mariadb #卸载maria 这里填写自己的版本哈 rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_642 解压安装包mkdir /home/softwares #解压 要在压缩包的文件目录哈 tar -Jxvf mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz -C /home/softwares/这样就解压完了3 mysql环境变量配置cd /home/softwares mv mysql-8.0.35-linux-glibc2.17-x86_64/ mysql # 编辑环境变量 vim /etc/profile #添加mysql的环境变量 export PATH$PATH:/home/softwares/mysql/bin #环境变量生效 source /etc/profile4创建mysql用户组# 创建一个用户组mysql groupadd mysql # 创建一个系统用户mysql指定用户组为mysql useradd -r -g mysql mysql5创建数据目录#创建数据目录 mkdir -p /home/data/mysql_data/data #创建日志目录 mkdir -p /home/data/mysql_data/logs # 更改属主和数组 chown -R mysql:mysql /home/data/mysql_data/ # 更改模式 chmod -R 755 /home/data/mysql_data6创建mysql数据库配置文件# 按照自己的实际路径来哈 mkdir /home/softwares/mysql/conf vim my.cnf配置文件如下如果内存大可以调大参数哈[mysql] default-character-set utf8mb4 [client] port 3306 socket /tmp/mysql.sock [mysqld] innodb_strict_mode 0 port 3306 server-id 1 user mysql socket /tmp/mysql.sock basedir /home/softwares/mysql datadir /home/data/mysql_data/data log-bin /home/data/mysql_data/mysql-bin innodb_data_home_dir /home/data/mysql_data/data innodb_log_group_home_dir /home/data/mysql_data/logs log-error /home/data/mysql_data/logs/mysql.log pid-file /home/data/mysql_data/data/mysql.pid character-set-server utf8mb4 lower_case_table_names 1 autocommit 1 default-authentication-plugin mysql_native_password skip-external-locking # ----------- 降为原始配置的 1/12 ----------- key_buffer_size 42M max_allowed_packet 42M table_open_cache 85 sort_buffer_size 3M net_buffer_length 66K read_buffer_size 3M read_rnd_buffer_size 426K myisam_sort_buffer_size 5M thread_cache_size 106 # query_cache_size 106M tmp_table_size 42M explicit_defaults_for_timestamp true max_connections 41 max_connect_errors 100 open_files_limit 65535 binlog_format ROW log-bin master-a-bin binlog_expire_logs_seconds 864000 default_storage_engine InnoDB innodb_data_file_path ibdata1:10M:autoextend innodb_buffer_pool_size 674M innodb_log_file_size 85M innodb_log_buffer_size 6M innodb_flush_log_at_trx_commit 1 innodb_lock_wait_timeout 60 transaction-isolation READ-COMMITTED [mysqldump] quick max_allowed_packet 42M [myisamchk] key_buffer_size 5M sort_buffer_size 341K read_buffer 170K write_buffer 170K [mysqlhotcopy] interactive-timeout说明7初始化数据库# 填写自己的路径哈 mysqld --defaults-file/home/softwares/mysql/conf/my.cnf --basedir/home/softwares/mysql --datadir/home/data/mysql_data/data --usermysql --initialize-insecure为了防止各位宝子弄错哈博主把每个参数简单的解释一下8启动数据库# 完整命令 /home/softwares/mysql/bin/mysqld_safe --defaults-file/data/softwares/mysql8/my.cnf # 添加PATH变量后的命令省略bin目录的路径 mysqld_safe --defaults-file/home/softwares/mysql/conf/my.cnf # 查看mysql的启动状态 ps -ef | grep mysqlmysql 的命令都在里面了 记住这个路径当然添加了环境变量可以直接使用下面那个命令启动随意目录都可以的哈查看mysql的启动情况9登录mysql并修改密码# 免密登录mysql mysql -u root --skip-password # 修改密码 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 123456; # 刷新权限 FLUSH PRIVILEGES; # 这里是给远程权限的哈 下面的 mysql 不要粘贴了 hhh mysql use mysql mysql update user set user.Host%where user.Userroot; mysql flush privileges; mysql quit # 这个是没开防火墙开放端口的当然咱们不需要这个所以下面这些不需要执行但是我还是留下这些命令哈 # 但是如果是生产环境 还是请大家仅开放端口哦 sudo firewall-cmd --zonepublic --add-port3306/tcp --permanent sudo firewall-cmd --reload至此单节点的mysql 8 到这里基本结束了哈 博主一次成功各位宝子遇到困难了吗评论区留言大家相互交流10远程客户端连接mysql工具有很多的 如 dbeave 、 navicat、datagrip 等自行选择 如果需要工具博主找找自己的安装包给你还是可以的不一定找的到哈哈哈下面就讲解一下怎么远程连接我们的数据库 方便后续写代码测试以及搭建mysql集群新建连接这是 DG连接工具5、集群版Mysql1架构图2 主节点配置 192.168.10.11# 创建一个用于同步数据的用户 create user slave_user% identified by All_123456; # 给用户赋权 grant all on *.* to slave_user%; # 刷新锁定表 防止主节点写入数据 FLUSH TABLES WITH READ LOCK; # 查看主节点状态 show master status;3从节点1配置-- 停止同步 stop REPLICA; -- 重设同步参数 RESET REPLICA ALL; # 修改同步参数 按照自己实际情况来 CHANGE REPLICATION SOURCE TO SOURCE_HOST192.168.10.11, SOURCE_USERslave_user, SOURCE_PASSWORDAll_123456, SOURCE_LOG_FILEmaster-a-bin.000002, SOURCE_LOG_POS1860; # 开启同步 START REPLICA; # 查看同步状态 SHOW REPLICA STATUS; SELECT * FROM performance_schema.replication_applier_status_by_worker4从节点2配置 和节点1 一致 的代码哈-- 停止同步 stop REPLICA; -- 重设同步参数 RESET REPLICA ALL; # 修改同步参数 按照自己实际情况来 CHANGE REPLICATION SOURCE TO SOURCE_HOST192.168.10.11, SOURCE_USERslave_user, SOURCE_PASSWORDAll_123456, SOURCE_LOG_FILEmaster-a-bin.000002, SOURCE_LOG_POS1860; # 开启同步 START REPLICA; # 查看同步状态 SHOW REPLICA STATUS; SELECT * FROM performance_schema.replication_applier_status_by_worker5 解锁 主节点的写数据权限# 这个在主节点执行哈 UNLOCK TABLES;show processlist这里已经可以看到从节点 1 从节点二已经在接收主节点的binlog日志了至此 mysql主从已经大功告成 恭喜各位宝子又喜提新的技能了哈6在主节点创建数据库 数据表并写入数据注意这里我提供测试代码在主节点去执行从节点会自动同步数据的哈 如果成功了说明宝子你很棒-- 创建数据库 CREATE DATABASE IF NOT EXISTS test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 使用该数据库 USE test_db; -- 创建表 CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100), created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 写入数据 INSERT INTO users (username, email) VALUES (alice, aliceexample.com), (bob, bobexample.com), (charlie, charlieexample.com);主节点写入数据从节点1查询刚刚主节点写入的数据完全正确从节点2查询刚刚主节点写入的数据完全正确至此Mysql的单机版和集群版都已经被博主无坑讲解完了哈各位宝子还是去点赞收藏吧关注博主博主只给大家带来干货在这个知识付费的年代博主花时间和精力免费分享无坑干货给大家还是希望大家支持我。然后我们期待后续的内容吧
延伸阅读

更多相关文章

2026/9/11 9:41:23

单片机计算机毕设之基于 STM32 或 51 单片机的仓储环境火灾预警智能控制系统设计 基于 STM32 或 51 单片机的液晶显示型多维度安防监测系统设计(023807)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/11 9:41:22

100G FPGA UDP协议栈自研与上板测试实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 12:51:54

AIGC检测系统下的学术论文四维降重技术解析

1. 项目背景与核心痛点解析2023年学术圈最震撼的事件莫过于知网正式上线AIGC检测系统,这套系统与传统的文字重复率检测形成双重绞杀。我在高校任教的朋友透露,去年毕业季某985高校使用该系统初检,38%的论文被标记"AIGC高风险"&…

2026/9/11 12:51:54

AI Agent基础设施搭建实战:模型网关、向量库与MCP选型指南

做AI Agent这件事,我踩过最大的坑不是模型不会说话,而是地基没打好就急着盖楼。最近我们在LCODER实战系列里推进“问数项目智能体搭建”,目标很直接:让业务同学用大白话问一句“上个月华东区销售额同比变化怎么样”,Ag…

2026/9/11 12:51:54

视频技能增强系统:Skill RAG 实战指南

1. 项目概述:这不是一个“调API”的玩具,而是一套可落地的视频技能增强系统最近在 GitHub 上刷到一个叫deepseek-v4-flash-vision的开源项目,标题里带“flash”,不是营销话术——它真把多模态视频理解的推理延迟压到了工程可用级别…

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码