Linux中安装mysql8,转载及注意事项
一、先前往官网下载mysql8
下载地址:
https://dev.mysql.com/downloads/
选择Linux
二、删除Linux中的mysql(如果有的话),上传安装包
1、先查看mysql是否存在,命令如下:
rpm -qa|grep -i mysql
如果使用这个命令之后没有出现任何内容,表示没有安装过mysql,如果有出现,则删除。
2、如果存在,那么停止mysql,删除所有的服务
使用如下命令:
find / -name mysql
删除出现的所有文件(如图)
三、解压安装MySQL
1、解压MySQL压缩包
tar xvJf “你的安装包名称”,我这里是
tar xvJf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
2、重命名解压后的MySQL
觉得解压之后的MySQL文件夹名称太长了,可以 mv “原文件名称” “新文件名称”,重命名一下,注意如果是在当前文件中重命名,新文件名中不能包含斜杆“/”,这是我的
mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql-8.0.31
3、进入MySQL根目录,创建data文件夹
进入根目录
cd mysql-8.0.31/
创建data文件
mkdir data
四、创建mysql组和用户
这个我没发现有什么用,但很多教程都这么做,我这里也创建一下。
1、创建mysql组
groupadd mysql
2、创建mysql用户
useradd -g mysql mysql
出现这样的提示表示已经创建过mysql组和用户了。
3、将安装的MySQL权限给mysql用户
命令,chown -R “mysql组名”.“mysql用户名” “mysql安装根目录”
chown -R mysql.mysql /usr/MYSQL/mysql-8.0.31
五、MySQL初始化
1、初始化
在初始化之前提一嘴,Linux中的MySQL默认是区分表明大小写的,如果你是安装的也是MySQL8,那么不区分大小需要在数据库初始化时设置,不然初始化后,在配置文件在设置重启时是会报错的。
进入MySQL的bin目录进行初始化
./mysqld --user=mysql --basedir=/usr/MYSQL/mysql-8.0.31 --datadir=/usr/MYSQL/mysql-8.0.31/data --lower-case-table-names=1 --initialize
–lower-case-table-names=1 即设置不区分表明大小写,最后面的 dwW3</EIewj 为初始化生产的临时密码。
2、初始化失败(2023-11-9更新,初始化成功可以不看)
进入bin目录报如下错:
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
原因:
这是一个与运行MySQL数据库相关的问题。出现这个错误的原因是系统缺少了名为libaio.so.1的共享库文件。
使用命令查看是否已安装libaio软件包,命令如下:
rpm -qa|grep libaio
可以看到并没有安装libaio软件包。
解决办法:
先安装numactl软件包,命令如下:
yum -y install numactl.x86_64
然后安装libaio开发包,命令如下:
yum install libaio-devel.x86_64
再次查看是否安装成功libaio软件包
rpm -qa|grep libaio
可以看到安装成功了,再次初始化应该就可以成功了。
六、修改MySQL配置文件
初次进入时配置是空的,进入命令
vim /etc/my.cnf
[mysqld]
port=3306
basedir=/usr/MYSQL/mysql-8.0.31/ # MySQL根目录
datadir=/usr/MYSQL/mysql-8.0.31/data/ # MySQL的data目录
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0#解决“java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column”
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
保存退出
七、添加服务到系统
进入MySQL根目录,直接复制粘贴命令即可。
cp -a ./support-files/mysql.server /etc/init.d/mysql
八、授权以及添加服务
这里授权和添加服务都是在MySQL的根目录中操作。
1、授权
chmod +x /etc/init.d/mysql
2、添加服务
chkconfig --add mysql
九、启动MySQL
1、启动MySQL命令
service mysql start
2、查看MySQL状态
service mysql status
3、踩坑(2023-4-12更新,成功启动的可以不看)
如果启动时报如下错
一个原因是上面新建的data目录没有权限,使用如下命令加上:
chmod -R 755 /usr/local/mysql/mysql-8.0.32/data
此处一定注意:将data目录改为你的data目录,然后再使用
然后再启动mysql
可以看到报错比上面少了,接下来看看上面报错的日志,使用命令
cat /usr/local/mysql/mysql-8.0.32/data/iZ7xvbz75ed3prrdah1kceZ.err
前面在初始化时设置了表明大小写不敏感,这里要在mysql的配置文件中显示设置一下
保存退出,然后重启mysql
成功启动。
十、将MySQL命令添加到服务
1、添加服务
命令: ln -s “你的MySQL根目录/bin/mysql” /usr/bin ,这一步是为了能在任何地方通过用户名和密码登录MySQL,这是我的
ln -s /usr/MYSQL/mysql-8.0.31/bin/mysql /usr/bin
2、踩坑(2023-4-12更新,成功登录mysql可以不看)
直到上一步都没有出错,在登录mysql时报如下错:
可能是挂载的路径错了,到挂载目录查看,命令如下:
cd /usr/bin
可以看到mysql服务是红色的,并且一直在闪,正常的应该是绿色的。
我当前的mysql根目录是8.0.32,添加的时候写成了8.0.31,怪不得会报错。
解决办法:删除当前mysql的服务,重新添加。
先删除,命令如下:
rm -rf /usr/bin/mysql
重新添加:
ln -s /usr/local/mysql/mysql-8.0.32/bin/mysql /usr/bin
可以看到mysql服务添加成功,可以登录mysql了。
十一、修改密码
1、先使用前面初始化拿到的临时密码登录
mysql -uroot -p
输入的密码是不显示的
2、切换到mysql数据库
切换mysql命令
use mysql
如果切换mysql数据库时出现这样的错就直接修改密码:
查询用户表命令
select Host, User from user;
可以看到允许访问root的host有哪些,%表示所有,这里只有localhost,修改密码不成功可以看一下root对应的host的值。
注意:本人在此处出现了一个错误。
mysql报错:You must reset your password using ALTER USER statement before executing this statement.
这是因为新安装mysql后,登录后,执行任何命令都会报错:
You must reset your password using ALTER USER statement before executing this statement.
【解决办法】
MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('Admin2022!'); --此处后面跟随的是用户名一般是root
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'root';
【出现原因】
出现这种情况的原因:
MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTER USER语句来修改这个值。
3、修改密码
修改密码的命令为:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
修改之后需要刷新,使密码生效
flush privileges;
下面讲一下远程授权和防火墙开放端口
在服务器上登录MYSQL后,use mysql,依次执行如下两句SQL
第一步:更新域属性,'%'表示允许任意IP地址访问:
输入指令:
update user set host='%' where user ='root';
第二步:执行以上语句之后再执行:
输入指令:
FLUSH PRIVILEGES;
第三步:再执行授权语句:
输入指令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
可以重启MYSQL
service mysql restart
防火墙需要开放对应端口
首先,查询端口是否开启
firewall-cmd --list-ports
如发现此处输出列表中没有3306端口,可以使用以下命名开放3306端口:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
此处接口使用Navacate连接数据库
相关文章:

Linux中安装mysql8,转载及注意事项
一、先前往官网下载mysql8 下载地址: https://dev.mysql.com/downloads/选择Linux 二、删除Linux中的mysql(如果有的话),上传安装包 1、先查看mysql是否存在,命令如下: rpm -qa|grep -i mysql如果使用这…...
可以下载blender/fbx格式模型网站
glbxz.com glbxz.com可以下载blender/fbx格式模型。当然里面有免费的...

SpringBoot的汽车商城后台管理系统源码开发实现
概述 汽车商城后台管理系统专为汽车4S店和经销商设计,提供全面的汽车管理系统解决方案。 主要内容 1. 核心功能模块 系统提供以下主要功能: 销售管理:记录销售信息,跟踪交易进度客户管理:维护客户…...
从入门到深入:Vue.js 学习全攻略
一、Vue.js 入门基础 (一)Vue.js 简介与环境搭建 Vue.js 是一套用于构建用户界面的渐进式 JavaScript 框架,所谓渐进式,意味着开发者可以根据项目需求,灵活地选择使用 Vue 的功能。它既可以嵌入到简单的 HTML 页面中…...
C++八股--6--mysql 日志与并发控制
这里向大家介绍一下数据库基础:共分为以下章节 10前序.日志系统 这是数据库的核心。我放到首页来介绍,给大家一个前置概念,方便进行更好的学习 日志文件我们用来记录事务对数据库更新操作的文件,分为以记录为单位的文件和数据块…...

DeepSeek实战--手搓实现Agent
1.背景 要学习AI agent,只会用agent 框架,还不够,一旦框架出现问题,没法快速的排查出问题。 学习就应该“知其然,更应该知其所以然” ,今天我们就用编码的方式实现一个简单的agent 。我们模拟一套AI学生评…...
Hutool的`BeanUtil.toBean`方法详解
BeanUtil.toBean是Hutool工具包中一个非常实用的JavaBean转换工具方法,它能够方便地将一个对象(通常是Map或另一个JavaBean)转换为目标类型的JavaBean实例。 方法签名 public static <T> T toBean(Object source, Class<T> tar…...

线性代数——行列式⭐
目录 一、行列式的定义⭐ 1-1、三阶行列式练习 1-2、下面介绍下三角行列式、上三角行列式、对角行列式 编辑 二、行列式的性质 2-1、性质1,2,3,4,5,6 编辑 2-2、性质7 2- 3、拉普拉斯定理、克莱姆法则 三…...

iPhone手机连接WiFi异常解决方法
iPhone手机连接WiFi异常解决方法 一、问题现象二、iPhone连不上可能的原因三、基础排查与快速修复第一步:重启大法第二步:忽略网络,重新认证第三步:关闭“私有无线局域网地址”第四步:修改DNS服务器第五步:还原网络设置四、路由器端排查及设置关闭MAC地址过滤或添加到白名…...
Spark缓存
生活中缓存容量受成本和体积限制(比如 CPU 缓存只有几 MB 到几十 MB),但会通过算法(如 “最近最少使用” 原则)智能决定存什么,确保存的是 “最可能被用到的数据”。 1. 为什么需要缓存? 惰性执…...
计算机视觉与深度学习 | 基于Transformer的低照度图像增强技术
基于Transformer的低照度图像增强技术通过结合Transformer的全局建模能力和传统图像增强理论(如Retinex),在保留颜色信息、抑制噪声和平衡亮度方面展现出显著优势。以下是其核心原理、关键公式及典型代码实现: 一、原理分析 1. 全局依赖建模与局部特征融合 Transformer的核…...

学习设计模式《八》——原型模式
一、基础概念 原型模式的本质是【克隆生成对象】; 原型模式的定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 。 原型模式的功能: 1、通过克隆来创建新的对象实例; 2、为克隆出来的新对象实例复制…...

疗愈服务预约小程序源码介绍
基于ThinkPHP、FastAdmin和UniApp开发的疗愈服务预约小程序源码,这款小程序在功能设计和用户体验上都表现出色,为疗愈行业提供了一种全新的服务模式。 该小程序源码采用了ThinkPHP作为后端框架,保证了系统的稳定性和高效性。同时,…...
如何通过外网访问内网?对比5个简单的局域网让互联网连接方案
在实际应用中,常常需要从外网访问内网资源,如远程办公访问公司内部服务器、在家访问家庭网络中的设备等。又或者在本地内网搭建的项目应用需要提供互联网服务。以下介绍几种常见的外网访问内网、内网提供公网连接实现方法参考。 一、公网IP路由器端口映…...
Linux 服务器静态 IP 配置初始化指南
✅ 第一步:确认网络管理方式 运行以下命令判断系统使用的网络管理服务: # 检查 NetworkManager 是否活跃 systemctl is-active NetworkManager# 检查 network(旧服务)是否活跃 systemctl is-active network或者检查配置路径&…...

【随笔】Google学术:but your computer or network may be sending automated queries.
文章目录 一、问题复述二、问题原因三、解决 前提:你的xxx是自己做的,你自己可以管理,而不是用的那些劣质✈场。 一、问题复述 🟢如下图所示:可以打开谷歌学术,但是一搜索就是这个界面。 二、问题原因 …...

长事务:数据库中的“隐形炸弹“——金仓数据库运维避坑指南
引言:凌晨三点的告警 "张工!生产库又告警了!"凌晨三点的电话铃声总是格外刺耳。运维团队发现数据库频繁进入单用户模式,排查发现某核心表的年龄值(Age)已突破20亿大关。经过一夜奋战,…...

ubuntu nobel + qt5.15.2 设置qss语法识别正确
问题展示 解决步骤 首选项里面的高亮怎么编辑选择都没用。如果已经有generic-highlighter和css.xml,直接修改css.xml文件最直接! 在generic-highlighter目录下找到css.xml文件,位置是:/opt/Qt/Tools/QtCreator/share/qtcreator/…...
优化01-统计信息
Oracle 的统计信息是数据库优化器生成高效执行计划的核心依据。它记录了数据库对象(如表、索引、列等)的元数据信息,帮助优化器评估查询成本并选择最优执行路径。以下是关于 Oracle 统计信息的详细介绍: 一、统计信息的分类 表统…...

Unity-Socket通信实例详解
今天我们来讲解socket通信。 首先我们需要知道什么是socket通信: Socket本质上就是一个个进程之间网络通信的基础,每一个Socket由IP端口组成,熟悉计网的同学应该知道IP主要是应用于IP协议而端口主要应用于TCP协议,这也证明了Sock…...

MATLAB仿真定点数转浮点数(对比VIVADO定点转浮点)
MATLAB仿真定点数转浮点数 定点数可设置位宽,小数位宽;浮点数是单精度浮点数 对比VIVADO定点转浮点 目录 前言 一、定点数 二、浮点数 三、定点数转浮点数 四、函数代码 总结 前言 在FPGA上实现算法时,相比MATLAB实现往往需要更长的开发…...
配置Jupyter Notebook环境及Token认证(Linux服务器)
配置Jupyter Notebook环境及Token认证(Linux服务器) 背景 在Ubuntu 18.04.6 LTS服务器(IP: 39.105.167.2)上,基于虚拟环境pytorch_env,通过Mac终端(SSH)配置Jupyter Notebook环境&…...

【计算机网络】Cookie、Session、Token之间有什么区别?
大家在日常使用浏览器时可能会遇到:是否清理Cookie?这个问题。 那么什么是Cookie呢?与此相关的还有Session、Token这些。这两个又是什么呢? 本文将对这三个进行讲解区分,如果对小伙伴有帮助的话,也请点赞、…...

SpringCloud服务拆分:Nacos服务注册中心 + LoadBalancer服务负载均衡使用
SpringCloud中Nacos服务注册中心 LoadBalancer服务负载均衡使用 前言Nacos工作流程nacos安装docker安装window安装 运行nacos微服务集成nacos高级特性1.服务集群配置方法效果图模拟服务实例宕机 2.权重配置3.环境隔离 如何启动集群节点本地启动多个节点方法 LoadBalancer集成L…...
Spring AI 集成 DeepSeek V3 模型开发指南
Spring AI 集成 DeepSeek V3 模型开发指南 前言 在人工智能飞速发展的当下,大语言模型不断推陈出新,DeepSeek AI 推出的开源 DeepSeek V3 模型凭借其卓越的推理和问题解决能力备受瞩目。与此同时,Spring AI 作为一个强大的框架,…...

Apache Doris 使用指南:从入门到生产实践
目录 一、Doris 核心概念 1.1 架构组成 1.2 数据模型 二、Doris 部署方式 2.1 单机部署(测试环境) 2.2 集群部署(生产环境) 三、数据操作指南 3.1 数据库与表管理 3.2 数据导入方式 3.2.1 批量导入 3.2.2 实时导入 3.…...

26届秋招收割offer指南
26届暑期实习已经陆续启动,这也意味着对于26届的同学们来说,“找工作”已经提上了日程。为了帮助大家更好地准备暑期实习和秋招,本期主要从时间线、学习路线、核心知识点及投递几方面给大家介绍,希望能为大家提供一些实用的建议和…...

拷贝多个Excel单元格区域为图片并粘贴到Word
Excel工作表Sheet1中有两个报表,相应单元格区域分别定义名称为Report1和Report2,如下图所示。 现在需要将图片拷贝图片粘贴到新建的Word文档中。 示例代码如下。 Sub Demo()Dim oWordApp As ObjectDim ws As Worksheet: Set ws ThisWorkbook.Sheets(&…...
Kafka消息队列之 【消费者分组】 详解
消费者分组(Consumer Group)是 Kafka 提供的一种强大的消息消费机制,它允许多个消费者协同工作,共同消费一个或多个主题的消息,从而实现高吞吐量、可扩展性和容错性。 基本概念 消费者分组:一组消费者实例的集合,这些消费者实例共同订阅一个或多个主题,并通过分组来协调…...

【Bluedroid】蓝牙 SDP(服务发现协议)模块代码解析与流程梳理
本文深入剖析Bluedroid蓝牙协议栈中 SDP(服务发现协议)服务记录的全生命周期管理流程,涵盖初始化、记录创建、服务搜索、记录删除等核心环节。通过解析代码逻辑与数据结构,揭示各模块间的协作机制,包括线程安全设计、回…...