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

Spring面试重点(三)——AOP循环依赖

Spring面试重点 AOP 前置通知(Before):在⽬标⽅法运行之前运行;后置通知(After):在⽬标⽅法运行结束之后运行;返回通知(AfterReturning):在⽬标…...

计算机网络之HTTP04ECDHE握手解析

DH算法 离散读对数问题是DH算法的数学基础 (1)计算公钥 (2)交换公钥,并计算 对方公钥^我的私钥 mod p 离散对数的交换幂运算交换律使二者算出来的值一样,都为K k就是对称加密的秘钥 2. DHE算法 E&#…...

【MySQL数据库】主从复制原理和应用

主从复制和读写分离1. 主从复制的原理2. 主从复制的环境配置2.1 准备好数据库服务器2.2 配置master2.3 配置slave2.4 测试3. 主从复制的应用——读写分离3.1 读写分离的背景3.2 Sharding-JDBC介绍3.3 Sharding-JDBC使用步骤1. 主从复制的原理 MySQL主从复制是一个异步的过程&a…...

复现随记~

note(美团2022) 比较简单的越界漏洞,堆本身并没有什么漏洞,而且保护并没全开,所以逆向思维。必然是ROP类而非指针类,故我们着重注意unsigned int等无符号数前后是否不一致 int __fastcall edit(__int64 a1) {int idx; // [rsp14…...

【计组】设计大型DMP系统--《深入浅出计算机组成原理》(十四)

目录 一、DMP:数据管理平台 二、MongoDB 真的万能吗 三、关系型数据库:不得不做的随机读写 (一)Cassandra:顺序写和随机读 1、Cassandra 的数据模型 2、Cassandra 的写操作 3、Cassandra 的读操作 &#xff08…...

66 使用注意力机制的seq2seq【动手学深度学习v2】

66 使用注意力机制的seq2seq【动手学深度学习v2】 深度学习学习笔记 学习视频:https://www.bilibili.com/video/BV1v44y1C7Tg/?spm_id_from…top_right_bar_window_history.content.click&vd_source75dce036dc8244310435eaf03de4e330 在机器翻译时,…...

NextJS(ReactSSR)

pre-render: 预渲染 1. 静态化 发生的时间:next build 1). 纯静态化 2). SSG: server static generator getStaticProps: 当渲染组件之前会运行 生成html json //该函数只可能在服务端运行 //该函数运行在组件渲染之前 //该函数只能在build期间运…...

JointBERT代码复现详解【上】

BERT for Joint Intent Classification and Slot Filling代码复现【上】 源码链接:JointBERT源码复现(含注释) 一、准备工作 源码架构 data:存放两个基准数据集;model:JointBert模型的实现&#xff1b…...

进程间通信(上)

进程间通信(上)背景进程间通信目的进程间通信发展进程间通信分类管道什么是管道匿名管道实例代码简单的匿名管道实现一个父进程控制单个子进程完成指定任务父进程控制一批子进程完成任务(进程池)用fork来共享管道站在文件描述符角…...

【Unity3D】Unity 3D 连接 MySQL 数据库

1.Navicat准备 test 数据库,并在test数据库下创建 user 数据表,预先插入测试数据。 2.启动 Unity Hub 新建一个项目,然后在Unity编辑器的 Project视图 中,右击新建一个 Plugins 文件夹将连接 MySQL的驱动包 导入(附加驱…...

做摘抄的网站/seo建站技术

推荐一波我写的任务管理软件(持续扩展完善) 主要功能可以每天规划任务,并查看今天还剩下多少秒,以及总完成率. CSDN下载:https://download.csdn.net/download/qq_41806966/12545118 需要源码可以去我的Github:https://github.com/1711680493/Application 里面的ShendiTaskM…...

郑州网站建设推广优化/灰色项目推广渠道

修改cnblogs的主题为SimpleMemary 我的博客->设置->博客皮肤->SimpleMemary 编辑CSS 打开下面的地址,将样式代码粘贴到页面定制CSS框内 https://github.com/Jimc6/Cnblogs-Theme-SimpleMemory/blob/v1.3.2/src/style/base.min.css 勾选禁止模板默认CSS 编辑…...

营销网站/东莞网络推广

新添加一个收藏,把网页地址改为以下js脚本: 1 javascript:navigator.__defineGetter__(platform,function(){return}) 当下载文件时,先点击一次书签栏(收藏栏)的绕过代码书签,再次点击“下载”就可以实现跳…...

南通门户网站建设/超级外链工具有用吗

NOTE: 1.APIs往往要求访问原始资源(raw resources),所以每一个RAII class应该提供一个“取得其所管理之资源”的办法。 2.对原始资源的访问可能经由显示转换或隐式转换。一般而言显示转换比较安全,但隐式转换对客户比较方便。 转载于:https:/…...

免费网站模板库/三叶草gy5987

展开全部用“”替换文件中的内32313133353236313431303231363533e78988e69d8331333337626137容达到删除目的import java.io.InputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.util.…...

平阳县住房和城乡规划建设局网站/百度竞价推广怎么收费

复习一下基础DP,记忆化搜索 题意:给一个名字,和n*m矩阵,下面是矩阵信息,每次在一个格子,可以向上下左右移动,但是要求那个数字比当前所在格子数字小。可以从任意点出发,问最长的距离…...