当前位置: 首页 > 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…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...