Hadoop生态圈框架部署(七)- MySQL安装与配置教程
文章目录
- 前言
- 一、MySQL安装与配置(手动部署)
- 1. 下载MySQL
- 2. 上传安装包
- 3. 解压HBase安装包
- 4. 配置
- 4.1 配置 MySQL 的主配置文件 my.cnf
- 4.2 配置 MySQL 服务的脚本
- 5. 初始化MySQL数据库
- 6. 创建快捷方式
- 7. 启动MySQL服务
- 8. 修改MySQL登录密码
- 8.1 使用临时密码登录MySQL
- 8.2 设置MySQL登录密码
- 9. 设置 MySQL 允许远程访问
- 10. 设置MySQL服务开机自启动
- 11. 登录MySQL
- 11.1 本地登录MySQL
- 11.2 远程登录MySQL
- 安装异常
前言
随着信息技术的飞速发展,数据管理成为企业信息化建设中不可或缺的一部分。作为最流行的关系型数据库管理系统之一,MySQL 凭借其开源、高性能、高可靠性和易于使用的特性,在全球范围内获得了广泛的应用。无论是小型网站还是大型企业应用,MySQL 都能够提供强大的支持。然而,对于初次接触 MySQL 或者需要在特定环境中部署 MySQL 的技术人员来说,正确的安装与配置方法是确保数据库系统稳定运行的关键。
本文档旨在为读者提供一份详尽的 MySQL 手动安装与配置指南,特别针对 Linux 环境下的部署。我们将从下载 MySQL 安装包开始,逐步介绍如何上传安装包、解压安装、配置 MySQL 主配置文件、初始化数据库、创建快捷方式、启动服务、设置登录密码、允许远程访问以及设置服务开机自启动等关键步骤。此外,我们还将讨论一些常见的安装异常及其解决方法,帮助读者顺利地完成 MySQL 的安装与配置工作。
一、MySQL安装与配置(手动部署)
1. 下载MySQL
点击下载MySQL安装包:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
2. 上传安装包
通过拖移的方式将下载的MySQL安装包mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz上传至虚拟机hadoop1的/export/software目录。
3. 解压HBase安装包
在虚拟机hadoop1上传完成后将MySQL安装包通过解压方式安装至/export/servers目录。
tar -zxvf /export/software/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /export/servers/
4. 配置
4.1 配置 MySQL 的主配置文件 my.cnf
在虚拟机hadoop1修改MySQL的主配置文件 my.cnf
,执行如下命令添加配置内容。
cat >/etc/my.cnf <<EOF
[mysqld]
datadir=/export/data/mysql-5.7/data
# 建议禁用符号链接,以防止各种安全风险
symbolic-links=0
port=3306
user=root
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USERinnodb_file_per_table=1
lower_case_table_names=1# 添加显式默认值配置
explicit_defaults_for_timestamp=1
EOF
4.2 配置 MySQL 服务的脚本
在虚拟机hadoop1修改/export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server
文件。,执行如下命令修改配置。
sed -i "s|^basedir=.*|basedir=/export/servers/mysql-5.7.44-linux-glibc2.12-x86_64|" "/export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server"
sed -i "s|^datadir=.*|datadir=/export/data/mysql-5.7/data|" "/export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server"
5. 初始化MySQL数据库
在虚拟机hadoop1执行如下命令初始化MySQL,初始化会生成一个临时密码,记住这个临时密码。
mkdir -p /export/data/mysql-5.7
cd /export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/bin
./mysqld --initialize
6. 创建快捷方式
在虚拟机hadoop1执行如下命令创建MySQL服务启动脚本的快捷方式和MySQL命令行客户端的快捷方式。
ln -s /export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql
ln -s /export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/bin/mysql /usr/bin/mysql
7. 启动MySQL服务
在虚拟机Hadoop1执行如下命令启动MySQL服务。
service mysql start
8. 修改MySQL登录密码
8.1 使用临时密码登录MySQL
在虚拟机Hadoop1执行如下命令使用临时密码YUA-VP=5tga!
登录MySQL,临时密码YUA-VP=5tga!
是上面生成的临时密码,需要更改为自己的临时密码。
mysql --connect-expired-password -uroot -p
8.2 设置MySQL登录密码
在虚拟机Hadoop1执行如下命令修改MySQL密码为123456
。
set password for root@localhost = password('123456');
退出MySQL命令行客户端。
exit
9. 设置 MySQL 允许远程访问
在虚拟机hadoop1执行如下命令设置 MySQL 允许远程访问。
mysql -uroot -p123456 -e "use mysql; update user set host='%' WHERE user='root'; flush privileges;"
10. 设置MySQL服务开机自启动
在虚拟机hadoop1执行如下命令设置MySQL服务开机自启动。
cp /export/servers/mysql-5.7.44-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
11. 登录MySQL
11.1 本地登录MySQL
mysql -uroot -p123456
退出MySQL命令行客户端。
exit
11.2 远程登录MySQL
mysql -h192.168.121.160 -P3306 -uroot -p123456
退出MySQL命令行客户端。
exit
安装异常
重复执行创建软连接命令时,出现如下情况属正常,不会影响安装。
若安装过程中出现问题,需要重新安装,请按以下步骤执行。
若已经启动了MySQL服务,需要先使用以下命令停止MySQL服务。
service mysql stop
删除安装目录及生成的数据存放目录。
rm -rf /export/data/mysql-5.7
rm -rf /export/servers/mysql-5.7.44-linux-glibc2.12-x86_64
然后再去重新执行上面的安装过程。
相关文章:

Hadoop生态圈框架部署(七)- MySQL安装与配置教程
文章目录 前言一、MySQL安装与配置(手动部署)1. 下载MySQL2. 上传安装包3. 解压HBase安装包4. 配置4.1 配置 MySQL 的主配置文件 my.cnf4.2 配置 MySQL 服务的脚本 5. 初始化MySQL数据库6. 创建快捷方式7. 启动MySQL服务8. 修改MySQL登录密码8.1 使用临时…...

视频直播5G CPE解决方案:ZX7981PG/ZX7981PMWIFI6网络覆盖
方案背景 视频直播蓬勃发展的当下,传统直播网络联网方式的局限性越来越明显。目前传统直播的局限性主要集中在以下几个方面: 传统直播间网络架构条件有限,可连接WIFI数量少,多终端同时直播难以维持;目前4G网络带宽有限…...
技术周刊 |Google 2024 年首届 Web AI 峰会回顾
大家好,我是童欧巴。见字如面,万事胜意,欢迎来到第 134 期周刊。 大厨推荐 Google 2024 年首届 Web AI 峰会回顾 不仅包括来自谷歌团队的演讲者,如 Chrome 和 MediaPipe,还包括第三方代表,如英特尔、Hug…...

web——upload-labs——第十二关——%00截断
查看源码 分析源码我们可以知道,这里是基于白名单过滤,只允许上传jpg,png,gif,但是这里注意第八行,上传路径是可以控制的,所以可以利用%00截断,来达到上传木马的目的。这里要注意一下,%00截断想…...
ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
问题描述 JDK8使用ojdbc8驱动操作oracle11g数据库,使用JDBC复用 PreparedStatement 对象执行Insert操作时,报错java.sql.SQLException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。,经测试发现,是预编译对象某个占位符号被赋…...

win10 自带 directx 修复工具怎么用?最新 directx 修复工具使用方法介绍
DirectX 是一组用于处理多媒体,特别是游戏和图形相关任务的技术和接口。当 DirectX 出现问题,可能会导致游戏运行不畅、图像显示异常、声音故障等。 系统自带的 directx 修复工具能够检测 DirectX 的组件是否完整、版本是否正确、配置是否合理ÿ…...

报错java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not ...解决方法
在运行项目时出现java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field com.sun.tools.javac.tree.JCTree qualidzz这样的报错 解决方法 1.第一步:在pom文件中将lombok的版本改成最新的 此时1.18.34是新…...

前端三大件之CSS
引言 CSS(层叠样式表,Cascading Style Sheets)是一种用于描述网页文档外观和格式的样式表语言。它主要用于控制网页的布局、颜色、字体、间距等视觉效果,使开发者能够将内容与设计分离。 一,CSS的基本概念 选择器&…...
C语言 | 指针 | 野指针 | 数组指针 | 指针数组 | 二级指针 | 函数指针 | 指针函数
文章目录 1.指针的定义2.指针的加减运算3.野指针4.指针 & 数组 & 传参 & 字符数组5.数组指针 & 指针数组6.二级指针7.指针函数 & 函数指针 & 回调函数8.函数指针数组 & 指向函数指针数组的指针 1.指针的定义 指针是内存中一个最小单元的编号&…...
mysql 的乐观锁和 mvcc 是一回事吗
MySQL 的乐观锁和 MVCC(多版本并发控制)是两个不同的概念,尽管它们都涉及到并发控制和数据的一致性,但在设计目的和实现方式上存在本质区别。 1. 乐观锁 概念 乐观锁是一种用于解决并发更新冲突的控制机制。它假设数据在大部分情况…...
redis的击穿和雪崩
Redis 是一个高性能的键值存储数据库,广泛用于缓存、会话管理等场景。然而,Redis 在高并发场景下可能会遇到一些问题,比如“击穿”和“雪崩”。下面详细解释这两个概念: 击穿(Hotspot) 击穿是指某个热点数…...

java中创建多线程的4种方式
目录 一、继承 Thread 类创建线程 步骤 示例代码 原理 二、实现 Runnable 接口创建线程 步骤 示例代码 原理 三、实现 Callable 接口创建线程 步骤 示例代码 原理 与Runnable接口相比的不同之处 四、使用线程池创建线程 步骤 示例代码(使用 Executo…...

MATLAB深度学习(二)——如何训练一个卷积神经网路
2.1 基本概念 从数学的角度看,机器学习的目标是建立输入和输出的函数关系,相当于 y F(x)的过程。F(x)就是我们所说的模型,对于使用者来说,这个模型就是一个黑箱,我们不知…...

删除k8s 或者docker运行失败的脚本
vi delete_exited_containers.sh#!/bin/bash# 列出所有停止的容器并存储到数组 list_exited_containers() {echo -e "\nStopped containers:"containers()# 获取停止的容器信息并存入数组while IFS read -r line; docontainers("$line")done < <(do…...
重置docker版本的octoprint管理员账号密码
我的情况是octoprint安装在HiNAS系统的机顶盒上,只有一个账号,但是忘记了用户名和密码。有两个选择: 可以试试先找回用户名,然后尝试你的常用密码。直接重置所有账号。 1.找回用户名: 使用使用 docker exec -it <…...
prometheus监控数据远程写入Kafka集群
文章目录 前言一、环境简介1.1 环境简介1.2 部署清单1.3 组件版本 二、部署步骤2.1 prometheus部署2.2 kafka集群部署2.3 prometheus-kafka-adapter部署 三、数据验证四、总结 前言 根据项目要求,需将prometheus监控数据存储到kafka中。前面为了图方便就搭建了单机…...

Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理
文章目录 前言一、探讨问题发生原因1.引入外部公式2.引入外部数据验证二、问题现象排查及解决1.排查公式2.排查数据验证3.特殊处理方式总结前言 作为一种常用的办公软件,Excel被大家所熟知。尽管使用了多年,有时候在使用Excel时候也会发生一些不太常见的现象,需要用心核查下…...
C++小白实习日记——Day 2 TSCNS怎么读取当前时间
和老板问了一下,今天就可以自己上手了: 用TSCNS写了一个cpp,运行出来老板说让我去看看另一个项目是怎么做的 用TSCNS和std库获取当前时间 #include <iostream> #include <iomanip> #include "tscns.h"using namespace std;TSCN…...

【Pythonr入门第二讲】你好,世界
"Hello, World!" 是一种传统的编程入门示例,通常是程序员学习一门新编程语言时编写的第一个程序。这个程序的目标非常简单:在屏幕上输出 "Hello, World!" 这个字符串。尽管它非常简单,但具有重要的象征意义和实际价值。 …...

3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
随着科技的飞速发展,实时渲染正逐步成为游戏与实时交互领域的重要驱动力。与离线渲染不同,实时渲染需要极高的计算性能,对硬件设备尤其是GPU的性能要求极高。随着 RTX 4090 显卡的问世,其强大的算力和创新技术,为实时渲…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...