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…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...