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

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 开放权限

五、使用Navicat连接测试


本期给大家带来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&#xf…...

【深度学习】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遇到许多坑,密码修改失败&#xff1b…...

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

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...