Linux | Linux卸载和安装MySQL(Ubuntu版)

最近又来到了Linux学习了,原因是要接触云服务器相关知识,
所以博主整理了一些关于Linux的知识,
欢迎各位朋友点赞收藏,天天开心丫,快乐写代码!
Linux系列文章请戳 Linux教程专栏

目录
一、卸载MySQL
1.1 查看MySQL的依赖项
1.2 卸载mysql服务器和common
1.3 再次检测依赖确保删除干净
二、安装MySQL
2.1 更新软件库
2.2 安装MySQL服务器和客户端
2.3 配置MySQL
2.4 查看MySQL服务
三、Linux下的MySQL数据库基本使用
3.1 启动MySQL数据库服务
3.2 重启MySQL数据库服务
3.3 停止MySQL数据库服务
3.4 查看MySQL运行状态
3.5 设置MySQL服务开机自启动
3.6 停止MySQL服务开机自启动
3.7 修改MySQL的配置文件
四、修改密码和访问权限
4.1 修改密码
4.2 开放权限
本期给大家带来Ubuntu版的Linux安装MySQL数据库,话不多说,上教程!
全篇可以分为四个部分,每一个部分都是细节满满,如果本篇教程对你有帮助,欢迎点赞评论收藏!
一、卸载MySQL
看到这里可能有人会觉得疑问
为什么要卸载MySQL?我不是还没安装MySQL吗?注意,这里针对的是那些曾经尝试过安装MySQL,但是没有安装成功的小伙伴!
如果你之前从来没有安装过MySQL,请直接跳转到第二步!
为了防止进行下面的二、三、四步骤出现各种疑难杂症,这里的操作是很有必要的。
下面以MySQL5.7版本为例:
1.1 查看MySQL的依赖项
首先执行 su 命令进入超级用户,
这里补充一个小知识,超级用户切换回普通用户执行 exit 命令即可。
输入密码后执行下面这个命令,查看mysql依赖:
dpkg --list | grep mysql
之后会出现类似于这样的代码:
ii mysql-client 5.7.33-0ubuntu0.16.04.1 all MySQL database client (metapackage depending on the latest version)
ii mysql-client-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database client binaries
ii mysql-client-core-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database core client binaries
ii mysql-common 5.7.33-0ubuntu0.16.04.1 all MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-server 5.7.33-0ubuntu0.16.04.1 all MySQL database server (metapackage depending on the latest version)
ii mysql-server-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database server binaries and system database setup
ii mysql-server-core-5.7 5.7.33-0ubuntu0.16.04.1 amd64 MySQL database server binaries
1.2 卸载mysql服务器和common
然后卸载mysql-common,执行下面的代码:
sudo apt remove mysql-common
接下来我们卸载并清除mysql5.7,输入如下代码:
sudo apt autoremove --purge mysql-server-5.7
卸载时会出现下面的图形界面提示:
通过键盘选择‘是’即可。
接下来清除残留数据,输入如下代码:
dpkg -l | grep ^rc| awk '{print$2}'| sudo xargs dpkg -P
执行完之后会出现如下一些提示:
sh: 0: getcwd() failed: No such file or directory
注意这不是报错,不用纠结,继续执行下一步。
1.3 再次检测依赖确保删除干净
最后再次检查依赖项,输入如下代码:
dpkg --list | grep mysql
如果输出为空,那么表示mysql已经彻底卸载干净了,如果不为空那么我们还要继续进行删除卸载。
继续输入如下代码:
sudo apt autoremove --purge mysql-apt-config
到底为止,Ubuntu上的mysql就已经彻底删除卸载干净!
二、安装MySQL
2.1 更新软件库
执行下面的命令进行更新软件库:
sudo apt-get update
2.2 安装MySQL服务器和客户端
安装MySQL服务器:
sudo apt-get install mysql-server
在安装过程中,系统将提示您创建root密码,
使用一个简单的密码并确保记住它,因为后面需要用到这个密码。

安装MySQL客户端:
sudo apt-get install mysql-client
mysql-server和mysql-client区别
mysql-server 是MySQL核心程序将安装MySQL数据库服务器,用于生成管理多个数据库实例,持久保存数据并为其提供查询接口(SQL),供不同客户端调用。
mysql-client 是操作数据库实例的工具,允许连接到MySQL服务器使用该查询接口。它将为您提供MySQL命令行程序。
如果只需要连接到远程服务器并运行查询,只安装mysql-client就可以了。
如果是服务器只提供连接服务的只需要安装mysql-server。
博主的建议是都安装,因为以后想用什么连接方式都可以!
2.3 配置MySQL
下面执行这个命令:
sudo mysql_secure_installation
之后会出现类似这样的提示,输入MySQL的密码,也就是步骤2.2设定的密码:
Securing the MySQL server deployment.Enter password for user root:
mysql_secure_installation脚本设置的东西有
1.是否需要安装验证密码插件,输入Y即可:
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
2.设置密码强度的等级,输入0即可,因为现在是学习阶段,不用搞那么复杂:
There are three levels of password validation policy:LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
3.是否需要修改root用户的密码,按需求,如果觉得步骤2.2的密码不好,
输入Y进行修改,如果不需要修改,输入其他按键回车:
Change the password for root ? ((Press y|Y for Yes, any other key for No) :
4.是否删除匿名用户,输入Y即可:
Remove anonymous users? (Press y|Y for Yes, any other key for No) :
5.是否允许远程登陆,输入Y即可,这样Windows才能连上Linux的数据库:
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
6.是否删除测试数据库,输入Y即可,这个数据库我们不需要:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
7.是否立即刷新表权限,输入Y即可:
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
当看到下面的提示时,代表数据库初始化配置完成!
All done!
2.4 查看MySQL服务
执行下面的命令查看MySQL服务:
systemctl status mysql.service
将看到类似于以下内容的输出,代表此时MySQL服务已经在Linux系统上运行了!
● mysql.service - MySQL Community ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since 六 2023-02-11 11:56:58 CST; 12min agoMain PID: 12078 (mysqld)CGroup: /system.slice/mysql.service└─12078 /usr/sbin/mysqld2月 11 11:56:57 sky-virtual-machine systemd[1]: Starting MySQL Community Server...
2月 11 11:56:58 sky-virtual-machine systemd[1]: Started MySQL Community Server.
三、Linux下的MySQL数据库基本使用
3.1 启动MySQL数据库服务
sudo service mysql start
sudo systemctl start mysql.service
3.2 重启MySQL数据库服务
sudo service mysql restart
输入这个命令可能会报如下内容:
sh: 0: getcwd() failed: No such file or directory
这里不用理会即可,执行下面这个重启命令。
sudo systemctl restart mysql.service
3.3 停止MySQL数据库服务
sudo service mysql stop
sudo systemctl stop mysql.service
3.4 查看MySQL运行状态
sudo service mysql status
sudo systemctl status mysql.service
3.5 设置MySQL服务开机自启动
sudo service mysql enable
sudo systemctl enable mysql.service
3.6 停止MySQL服务开机自启动
sudo service mysql disable
sudo systemctl disable mysql.service
3.7 修改MySQL的配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
这里有一个地方需要修改的是,将这个mysqld.cnf文件内容的一行注释掉,否则后面会导致Windows下的Navicat连接不上MySQL,报错2003!:
# bind-address = 127.0.0.1
然后按下esc,输入冒号,输入wq保存退出。
四、修改密码和访问权限
接下来我们就可以使用步骤2.2设置的密码登陆MySQL了!
4.1 修改密码
首先登陆MySQL:
mysql -uroot -p
输入密码后回车,进入到MySQL命令行模式,然后执行修改密码命令:
设置密码最低位数,根据需要进行设置,这里我设置的是最低6位。
set global validate_password_length=6;
设置密码安全等级,便于学习交流,一般设置LOW,因为设置其他的上面的密码就不合规范了:
set global validate_password_policy=LOW;
设置新密码,这里一定要设置一个符合最低位数及以上的密码,否则后面登陆会报错:
下面是我自己设置的密码,大家根据自己习惯设置即可。
set password=password('123456@');
4.2 开放权限
执行下面的命令:
grant all on *.* to 'root'@'%' identified by '123456@';
意思就是授权所有权限给以root登陆的任何主机。
最后一步是很重要的,刷新权限:
flush privileges;
到这里我们就做好了修改MySQL密码和开放了外部连接的权限!
可以输入exit;命令退出MySQL了。
接下来又到了至关重要的一步,重启MySQL服务,
命令在步骤3.2,执行之后,进入第五个环节测试。
五、使用Navicat连接测试
打开Windows下的navicat,进行连接测试:

点击连接测试,连接成功!
至此,在Linux下安装MySQL(Ubuntu版)就成功了
如果对其中任何一个步骤有疑问
欢迎大家评论交流,一起答疑解决,谢谢大家。
相关文章:
Linux | Linux卸载和安装MySQL(Ubuntu版)
最近又来到了Linux学习了,原因是要接触云服务器相关知识, 所以博主整理了一些关于Linux的知识, 欢迎各位朋友点赞收藏,天天开心丫,快乐写代码! Linux系列文章请戳 Linux教程专栏 目录 一、卸载MySQL 1…...
【C1】数据类型,常量变量,输入输出,运算符,if/switch/循环,/数组,指针,/结构体,文件操作,/编译预处理,gdb,makefile,线程
文章目录1.数据类型:单双引号,char(1B),int/float(32位系统,大小一样4B,但存储方式不同),double(8B),long double…...
【深度学习】pytorch的基础操作
import torch import numpy as np # 1.1 根据已有的数据创建张量 def test01(): # 1.1 创建标量 data torch.tensor(10) print(data) # 1.2 使用numpy数组来创建张量 data np.random.randn(2,3) data torch.tensor(data) print(data) # 1.3使用list…...
MWORKS--同元软控MWORKS介绍、安装与使用
MWORKS--同元软控MWORKS介绍、安装与使用1 同元软控介绍1.1 同元软控简介1.2 同元软控发展历史2 MWORKS介绍2.1 MWORKS简介2.2 MWORKS产品描述3 装备数字化3.1 发展3.2 内涵3.3 系统模型发展成为产品的一部分3.4 MWORKS系统模型数据管理3.4 MWORKS为装备数字化提供的套件4 下载…...
Python 解决dilb和face_recognition第三方包安装失败
目录 dilb和face_recognition第三方包安装失败 亲测有效的解决方法:whl安装方式 dilb和face_recognition第三方包安装失败 场景复现:因为需要用到dlibface_recognition,基于OpenCV做一些人脸识别的项目,在Pycharm中进行pip清华…...
Mac系统Mysql的8.0.22版本安装笔记和密码重置修改密码等问题方法
忘记密码官网教程地址:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html 5.7数据库安装指南参考:https://jingyan.baidu.com/article/fa4125ac0e3c2928ac709204.html 初次安装8.0.22遇到许多坑,密码修改失败;…...
驱动 | Linux | NVMe 不完全总结
本文主要参考这里 1’ 2 的解析和 linux 源码 3。 此处推荐一个可以便捷查看 linux 源码的网站 bootlin 4。 更新:2022 / 02 / 11 驱动 | Linux | NVMe 不完全总结NVMe 的前世今生从系统角度看 NVMe 驱动NVMe CommandPCI 总线从架构角度看 NVMe 驱动NVMe 驱动的文件…...
一个测试人员,在现阶段的环境下如何在测试行业发展和自我价值。
前言周末和几个测试圈子里的大佬饭局上聊了一些职场和测试职业发展相关的话题,我将聊天的内容做了整理和阐述。。朋友圈有测试同学对这篇文章提了比较深刻的建议,下面是他的评价和建议:评价:据说是大佬饭桌总结,有两点…...
pwn手记录题2
fastbin_reverse_into_tcache(2.34) 本题所使用的libc版本为2.34;(最新版 libc2.34版本已经没有了所谓的hook函数,甚至exit_hook(实际为某个函数指针)也已经不能够使用;能够利用的手法已经很少了; 高版本glibc堆的几…...
CSS ~ 从入门到入坑。
CSS ~ 从入门到入坑。 文章目录CSS ~ 从入门到入坑。what。css 三种实现方式。选择器。id 选择器 > class 选择器 > 标签选择器。标签选择器。类选择器。id 选择器。层次选择器。后代选择器。子选择器。相邻兄弟选择器。通用选择器。结构伪类选择器。属性选择器。字体风格…...
成都哪家机构的Java培训比较好,求一个不坑的?
关于这个问题,相信你会得到很多条答案,以及很多家机构的自荐。既然如此,不如也了解一下老牌IT职业教育机构:有足够丰富的教学经验,丰富的教学产品资源以及成熟的就业保障体系,还有就是承担风险的能力。 很…...
《爆肝整理》保姆级系列教程python接口自动化(十二)--https请求(SSL)(详解)
简介 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 小编…...
离线数据仓库
1 数据仓库建模 1.1 建模工具 PowerDesigner/SQLYog/EZDML… 1.2 ODS层 (1)保持数据原貌不做任何修改,起到备份数据的作用。 (2)数据采用压缩,减少磁盘存储空间(例如:压缩采用LZO&…...
【前端】Vue项目:旅游App-(23)detail:房东介绍、热门评论、预定须知组件
文章目录目标过程与代码房东介绍landlord热门评论HotComment预定须知Book效果总代码修改或添加的文件detail.vuedetail-book.vuedetail-hotComment.vuedetail-landlord.vue参考本项目博客总结:【前端】Vue项目:旅游App-博客总结 目标 根据detail页面获…...
JUC并发编程与源码分析
一、本课程前置知识及要求说明 二、线程基础知识复习 三、CompletableFuture 四、说说Java"锁"事 8锁案例原理解释: 五、LockSupport与线程中断 六、 Java内存模型之JMM 七、volatile与JMM 八、CAS 九、原子操作类之18罗汉增强 十、聊聊ThreadLocal 十一、Java对…...
Spark09: Spark之checkpoint
一、checkpoint概述 checkpoint,是Spark提供的一个比较高级的功能。有时候,我们的Spark任务,比较复杂,从初始化RDD开始,到最后整个任务完成,有比较多的步骤,比如超过10个transformation算子。而…...
《剑指offer》:数组部分
一、数组中重复的数字题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1…...
基于微信小程序图书馆座位预约管理系统
开发工具:IDEA、微信小程序服务器:Tomcat9.0, jdk1.8项目构建:maven数据库:mysql5.7前端技术:vue、uniapp服务端技术:springbootmybatis本系统分微信小程序和管理后台两部分,项目采用…...
剑指 Offer Day1——栈与队列(简单)
本专栏将记录《剑指 Offer》的刷题,传送门:https://leetcode.cn/study-plan/lcof/。 目录剑指 Offer 09. 用两个栈实现队列剑指 Offer 30. 包含min函数的栈剑指 Offer 09. 用两个栈实现队列 原题链接:09. 用两个栈实现队列 class CQueue { pu…...
详解Python正则表达式中group与groups的用法
在Python中,正则表达式的group和groups方法是非常有用的函数,用于处理匹配结果的分组信息。 group方法是re.MatchObject类中的一个函数,用于返回匹配对象的整个匹配结果或特定的分组匹配结果。而groups方法同样是re.MatchObject类中的函数&am…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
