当前位置: 首页 > news >正文

实战超详细MySQL8离线安装

在RedHat中,RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装,包全。

官网下载:https://dev.mysql.com/downloads/mysql/

1.卸载mariadb,会与MySQL安装冲突。

rpm -qa | grep mariadb 查看有无mariadb

如果有,则删除 yum -y remove mariadb-libs.x86_64

2.查看是否有 numactl

rpm -qa | grep numa

如果没有 numactl 库,或者不是64位的版本,则需要安装,网上教程挺多,需要的自行查找。

3.解压tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

安装6个必须安装的包,需要按顺序安装。

rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.0.32-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm

4.启动 mysql

启动服务:service mysqld start

查看状态:service mysqld status

5.登陆MySQL8

查看临时密码 grep 'password' /var/log/mysqld.log

2023-02-11T10:58:32.259446Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: >5wo7dI(atEg

使用临时密码登录:

mysql -u root -p回车后输入临时密码

6.修改新密码

alter USER 'root'@'localhost' IDENTIFIED BY 'root用户的密码';

7.设置MySQL的root用户远程登录

use mysql;

select host, user from user;

如果host为localhost则执行update user set host = "%" where user='root';

刷新生效flush privileges;

解决部分客户端无法连接的问题,比如dbvisualizer报

Unable to load authentication plugin 'caching_sha2_password

alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root用户的密码';

刷新生效flush privileges;

8.更改时区,一般不用修改,以防万一

查看当前时间。

select now() from dual;

如果发现和当前系统时间不一致,则需要根据实际情况来修改。

set persist time_zone='-5:00';

flush privileges;

查看修改后的时区和当前时间

show variables like '%time_zone%';

select now() from dual;

9.考虑到以后可能有空间大小限制,变更一下数据目录

当前目录:/var/lib/mysql

目标目录:/opt/mysql

#先做个备份,有备无患

cd /var/lib

mkdir mysqlbak

cp -a -R /var/lib/mysql/* /var/lib/mysqlbak

#转移mysql目录到/opt

mv /var/lib/mysql /opt/

chown -R mysql:mysql /opt/mysql

#修改my.cnf

vim /etc/my.cnf

此时,启动mysql服务正常,但是 mysql -u root -p 登录会报错:

Can 't connect to local MySQL server through socket '/var/lib/mysql.sock '(2)

分析了一下,提示说无法通过socket文件/var/lib/mysql/mysql.sock连接到mysql服务器,
也就是对于mysql程序来说,尽管我把socket文件从/var/lib/mysql/mysql.sock转移到了
/opt/mysql/mysql.sock,在my.cnf里指定了socket文件位置,
但是对于mysql还是会从默认的安装目录/var/lib/mysql/里找这个mysql.sock文件,
找不着,就不知道从哪里启动了。所以,做一个软连接,让mysql能访问到移动后的 mysql.sock。

#在 /var/lib 目录,创建一个空的mysql

mkdir mysql

chown mysql:mysql mysql

#做一个软连接

ln –s /opt/mysql/mysql.sock /var/lib/mysql/

ll /var/lib/mysql

这一步很关键,网上很多做这个软连接的做法,但是都是错误的,在这一步试了好长时间才找对办法。

做完软连接后,启动 mysql 服务,能正常登录了。

10.开放防火墙端口,否则不能远程访问

#防火墙命令

启动防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

重启防火墙:systemctl restart firewalld

查看防火墙:systemctl status firewalld

查看已开启的端口:firewall-cmd --list-ports

#添加端口3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent

systemctl restart firewalld

firewall-cmd --reload

firewall-cmd --list-port

#关闭指定端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent

systemctl restart firewalld

firewall-cmd --reload

firewall-cmd --list-port

#查看端口被哪一个进程占用

netstat -lnpt |grep 3306

相关文章:

实战超详细MySQL8离线安装

在RedHat中,RPM Bundle 方式安装MySQL8。建议一定要用 RPM Bndle 版本安装,包全。官网下载:https://dev.mysql.com/downloads/mysql/1.卸载mariadb,会与MySQL安装冲突。rpm -qa | grep mariadb 查看有无mariadb如果有&#xff0…...

依赖倒置原则|SOLID as a rock

文章目录 意图动机:违反依赖倒置原则解决方案:C++中依赖倒置原则的例子依赖倒置原则的优点1、可复用性2、可维护性在C++中用好DIP的标准总结本文是关于 SOLID as Rock 设计原则系列的五部分中的 最后一部分。 SOLID 设计原则侧重于开发 易于维护、可重用和可扩展的软件。 在…...

Webpack的知识要点

在前端开发中,一般情况下都使用 npm 和 webpack。   npm是一个非常流行的包管理工具,帮助开发者管理项目中使用的依赖库和工具。它可以方便地为项目安装第三方库,并在项目开发过程中进行版本控制。   webpack是一个模块打包工具&#xff…...

handler解析(2) -Handler源码解析

目录 基础了解: 相关概念解释 整体流程图: 源码解析 Looper 总结: sendMessage 总结: ThreadLocal 基础了解: Handler是一套 Android 消息传递机制,主要用于线程间通信。实际上handler其实就是主线程在起了一…...

【算法】kmp

KMP算法 名称由来 是由发明这个算法的三个科学家的名称首字母组成 作用 用于字符串的匹配问题 举例说明 字符串 aabaabaaf 模式串 aabaaf 传统匹配方法 第一步 aabaabaaf aabaaf 此时,b和f不一致,则把模式串从头和文本串的第二个字符开始比 第…...

git 常用命令之 git checkout

大家好,我是 17。 git checkout 是 git 中最重要最常用的命令之一,本文为大家详细解说一下。 恢复工作区 checkout 的用途之一是恢复工作区。 git checkout . checkout . 表示恢复工作区的所有更改,未跟踪的文件不会有变化。 恢复工作区的所有文件风…...

一些常见错误

500状态码: 代表服务器业务代码出错, 也就是执行controller里面的某个方法的过程中报错, 此时在IDEA的控制台中会显示具体的错误信息, 所以需要去看IDEA控制台的报错404状态码: 找不到资源找不到静态资源 检查请求地址是否拼写错误 检查静态资源的位置是否正确 如果以上都没有问…...

[单片机框架][调试功能] 回溯案发现场

程序莫名死机跑飞,不知道问题,那么下面教你回溯错误源 回溯案发现场一、修改HardFault_Handler1. xx.s 在启动文件,找到HardFault_Handler。并修改。2. 定义HardFault_Handler_C函数。(主要是打印信息并存储Flash)3. 根…...

MySQL主从同步-(二)搭建从机服务器

在docker中创建并启动MySQL从服务器:**端口3307docker run -d \-p 3307:3306 \-v /atguigu/mysql/slave1/conf:/etc/mysql/conf.d \-v /atguigu/mysql/slave1/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD123456 \--name atguigu-mysql-slave1 \mysql:8.0.3创建MyS…...

Linux系列 备份与分享文档

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.备份与分享文档 1.使用压缩和解压缩工具 (1&…...

SNI生效条件 - 补充nginx-host绕过实例复现中SNI绕过的先决条件

文章目录1.前置环境搭建2.测试SNI生效条件(时间)3. 证书对SNI的影响3.1 双方使用同一个证书:3.2 双方使用不同的证书与私钥4. 端口号区分测试4.1 端口号区分,证书区分:4.2 端口号区分,证书不区分:5.总结SNI运行机制6. SNI机制绕过…...

傻白探索Chiplet,Modular Routing Design for Chiplet-based Systems(十一)

阅读了Modular Routing Design for Chiplet-based Systems这篇论文,是关于多chiplet通信的,个人感觉核心贡献在于实现了 deadlock-freedom in multi-chiplet system,而不仅仅是考虑单个intra-chiplet的局部NoC可以通信,具体的一些…...

C语言静态库、动态库的封装和注意事项

1、动态库、静态库介绍 参考博客:《静态库和动态库介绍以及Makefile》; 2、代码目录结构和编译脚本 参考博客:《实际工作开发中C语言工程的目录结构分析》; 3、编写库的流程 (1)明确需求:需求是否合理、需求的使用场景、需求可能遇…...

MyBatis-Plus分页插件和MyBatisX插件

MyBatis-Plus分页插件和MyBatisX插件六、插件1、分页插件a>添加配置类b>测试八、代码生成器1、引入依赖2、快速生成十、MyBatisX插件1、新建spring boot工程a>引入依赖b>配置application.ymlc>连接MySQL数据库d>MybatisX逆向生成2、MyBatisX快速生成CRUD申明…...

年前无情被裁,面试大厂的这几个月…

2月份了,金三银四也即将来临,在这个招聘季,大厂也开始招人,但还是有很多人吐槽说投了很多简历,却迟迟没有回复… 另一面企业招人真的变得容易了吗?有企业HR吐槽,简历确实比以前多了好几倍&…...

基于Java的分片上传功能

起因:最近在工作中接到了一个大文件上传下载的需求,要求将文件上传到share盘中,下载的时候根据前端传的不同条件对单个或多个文件进行打包并设置目录下载。 一开始我想着就还是用老办法直接file.transferTo(newFile)就算是大文件&#xff0c…...

KDS安装步骤

KDS kinetis design studio 软件 第一步官网(https://www.nxp.com/ 注册账号下载set成功下载软件。 随着AI,大数据这些技术的快速发展,与此有关的知识也普及开来。如何在众多网站中寻找最有价值的信息,如何在最短的时间内获得最新的技…...

JavaSE-线程池(1)- 线程池概念

JavaSE-线程池(1)- 线程池概念 前提 使用多线程可以并发处理任务,提高程序执行效率。但同时创建和销毁线程会消耗操作系统资源,虽然java 使用线程的方式有多种,但是在实际使用过程中并不建议使用 new Thread 的方式手…...

开源代码的寿命为何只有1年?

说实话,如果古希腊的西西弗斯是一个在2016年编写开源代码的开发者,那他会有宾至如归的感觉。著名的西西弗斯处罚,是神话流传下来的,他被迫推一块巨大的石头上山,当登顶之后,只能眼睁睁看着它滚下去&#xf…...

完善登录功能--过滤器的使用

系列文章目录 Spring Boot读取配置文件内容的三种方式 Spring Boot自动配置–如何切换内置Web服务器 SpringBoot项目部署 上述为该系列部分文章,想了解更多可看我博客主页哦! 文章目录系列文章目录前言一、创建自定义过滤器LoginCheckFilter二、在启动类…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

C++使用 new 来创建动态数组

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

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...