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 显卡的问世,其强大的算力和创新技术,为实时渲…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
