Ubuntu 20.04 卸载和安装 MySQL8.0

news/2024/12/25 23:17:11/

卸载

首先,检查一下系统安装的软件包有哪些,使用dpkg -l | grep mysql命令:
在这里插入图片描述
为了将MySQL卸载干净,这些文件都需要被删除。

在Ubuntu20.04系统下,卸载干净MySQL8.0以确保下一次安装不会出错,可以按照以下步骤进行:

一、停止MySQL服务

首先,需要确保MySQL服务已经停止运行。可以使用以下命令来停止MySQL服务:

sudo service mysql stop

二、卸载MySQL软件包

接下来,使用apt-get命令来卸载MySQL相关的软件包。为了彻底卸载,可以使用--purge选项,它会删除软件包及其配置文件。

sudo apt-get autoremove --purge mysql-server-8.0 mysql-client-8.0 mysql-common

注意: 这里的mysql-server-8.0mysql-client-8.0mysql-common是MySQL8.0版本的具体软件包名称。如果你的系统中安装了其他与MySQL相关的软件包(如mysql-server-core-8.0等),也需要一并卸载。刚才第一步,我们使用dpkg -l | grep mysql命令查看到的文件都需要被删除。

这里我使用的命令如下,具体软件包根据你们的情况来定,:

sudo apt-get autoremove --purge mysql-server-8.0 mysql-client-8.0 mysql-common mysql-server-core-8.0 mysql-client-core-8.0 libmysqlclient21

在这里插入图片描述

三、删除MySQL残留文件和目录

卸载软件包后,可能还会有一些残留的文件和目录。这些残留文件可能包括MySQL的配置文件、数据库文件等。

这里先查看一下具体的残留文件和目录(这些文件属于系统文件,查看需要权限,这里使用sudo命令提权):

sudo ls /var/lib/mysql
sudo ls /etc/mysql
sudo ls /var/log/mysql

在这里插入图片描述
能够查到的文件,就删除掉,没有就不需要删。如,我系统中/var/log/mysql目录下,没有文件就不需要删除。

为了彻底清理这些残留文件,可以使用以下命令:

sudo rm -rf /var/lib/mysql  # 删除MySQL数据库文件目录
sudo rm -rf /etc/mysql      # 删除MySQL配置文件目录
sudo rm -rf /var/log/mysql  # 删除MySQL日志文件目录(如果有)

删除后,我们可以再使用命令查看一下,对应的文件是否被删除了:

sudo ls /var/lib/mysql
sudo ls /etc/mysql
sudo ls /var/log/mysql

在这里插入图片描述
找不到文件,就是删除成功了。

四、清理APT缓存和残留的软件包

为了确保系统中没有残留的MySQL软件包或依赖项,可以使用以下命令来清理APT缓存和残留的软件包:

sudo apt-get autoremove  # 自动删除不再需要的依赖包
sudo apt-get autoclean   # 清理APT下载的软件包缓存

五、验证卸载是否彻底

最后,可以使用以下命令来验证MySQL是否已经被彻底卸载:

dpkg --list | grep mysql

如果命令没有返回任何结果,说明MySQL已经被彻底卸载。

在这里插入图片描述

安装

查看操作系统版本

这里我们先使用命令lsb_release -a,查看一下当前系统版本,以便后续的使用:
在这里插入图片描述
如果没有命令lsb_release,可以先安装一下:

首先,更新一下软件包:sudo apt-get update;然后安装软件包即可,sudo apt-get install lsb-release -y

访问下载页面并下载发布包

到MySQL官网下载发布包:官网,点击Download即可,将发布包安装到Windows。

如果官网网址发生变动,可以按照以下步骤进行查找:

  1. 浏览器输入官网网址https://www.mysql.com/
  2. 选择首页downloads选项卡
  3. 点击MySQL Community (GPL) Downloads »
  4. 选择MySQL APT Repository
  5. 点击Download即可

具体画面如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装发布包

首先,要切换到root用户,并进入root用户的home目录:

sudo su  # 切换成root用户
cd ~     # 进行root的home目录
ll       # 列出目录内容

在这里插入图片描述
还需要再下载一个工具lrzsz,用于将刚才下载到Windows电脑中的发布包上传到Ubuntu中。如果你的系统中没有这个工具,可以通过以下步骤进行安装:

可以先更新一下软件包:apt-get update;然后安装软件包即可,apt-get install lrzsz -y。(注意,这里我们已经是root用户,不需要再在命令前加上sudo了)。

这里将发布包从Windows上传到Ubuntu中,可以直接将文件拖拽到Ubuntu页面中,也可以在Ubuntu命令行中,输入rz 命令(注意rz后面有一个空格)。这里我使用第二种方法:
在这里插入图片描述
在这里插入图片描述
接下来才真正安装发布包~

安装发布包

执行安装命令dpkg -i,后面跟着空格和你的发布包名称。(可能我的发布包版本跟你的不同,以你的为准。如果怕名字打错,可以在后面先打出mysql,再按一下Tab键进行补齐即可):

dpkg -i mysql-apt-config_0.8.33-1_all.deb

在这里插入图片描述
第一个选项,是选择要安装的MySQL的版本,可以回车进行选择,回车后的界面为:
在这里插入图片描述
再按一下Esc键可以退回上一个界面。

按方向键下键,选择第二个选项,第二个选项是用来安装连接器的:
在这里插入图片描述
adb.png" alt="在这里插入图片描述" />
这里就直接是Enabled即可。

总体界面可能你的与我的不同,但是只要有上面两个选项即可。下面直接选择ok回车即可。

在这里插入图片描述

从MySQL APT 源更新包信息

apt-get update
在这里插入图片描述

安装MySQL

执行命令:apt-get install mysql-server -y

安装过程中,会让你输入初始密码(这个密码是你马上用来登录MySQL时使用的密码):
在这里插入图片描述
后面还有一步,重新输入密码,你直接重新输入即可,这里就不截图了。

重新输入密码后,出现选择默认的身份验证插件(default authentication plugin):
在这里插入图片描述
这里可以使用第一个,选择第一个回车即可:
在这里插入图片描述
安装完成。

查看MySQL状态

安装完成后MySQL服务会自动启动,所以这里直接查看一下:

systemctl status mysql #查看mysql服务状态

在这里插入图片描述
为了后续MySQL操作,这里可以将MySQL服务设置为开机自启动

systemctl enable mysql #设置自启动
systemctl list-unit-files|grep mysql #查看状态

在这里插入图片描述

这样安装就算大功告成了。

之后就不需要root用户了,我们可以再切回普通用户:

su 用户名  # 切换用户
cd ~      # 回到用户家目录

登录MySQL

mysql -uroot -p

在输入刚才你设置的密码即可。

下面执行一些简单的SQL语句,没有什么意义:
在这里插入图片描述

这样就完成了。下面是一些其他设置,可能你现在不需要,以后需要的时候再回来看如何设置即可。

一些配置

字符集

一、找到并编辑配置文件

  1. MySQL的配置文件通常位于/etc/mysql/目录下,文件名可能是my.cnfmysql.conf.d/mysqld.cnf。你可以使用如下命令来找到并编辑这个文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

或者使用其他文本编辑器,如vim

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 在编辑器中,找到[mysqld]部分。如果文件中没有该部分,请手动添加。

二、添加或修改字符集设置

  1. [mysqld]部分中,添加或修改以下行来设置默认字符集和校对规则:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

这里,character-set-server=utf8mb4设置了MySQL服务器的默认字符集为utf8mb4collation-server=utf8mb4_unicode_ci设置了默认的校对规则。

  1. 如果你还希望客户端在连接时也使用utf8mb4字符集,可以在配置文件中添加以下部分:
[client]
default-character-set=utf8mb4

三、保存并重启MySQL服务

  1. 保存对配置文件的修改。在nano编辑器中,你可以按Ctrl+O保存文件,然后按Ctrl+X退出编辑器。在vim编辑器中,你可以按Esc键,然后输入:wq保存并退出。
  2. 重启MySQL服务以使修改生效。使用以下命令重启MySQL服务:
sudo systemctl restart mysql

四、验证修改

  1. 重新登录MySQL数据库。使用以下命令登录:
mysql -u root -p

输入root用户的密码后,登录到MySQL控制台。

  1. 在MySQL控制台中,执行以下命令来查看当前的字符集设置:
SHOW VARIABLES LIKE 'character_set%';

这将显示所有与字符集相关的变量,包括character_set_database(数据库字符集)、character_set_server(服务器字符集)等。确认character_set_servercharacter_set_database的值已经更新为utf8mb4

通过以上步骤,你已经成功在Ubuntu 20.04系统下通过配置文件设置了MySQL 8.0的字符集为utf8mb4。这将有助于确保你的数据库能够正确处理多语言数据和特殊字符。

安装开发包

在Ubuntu 20.04下安装MySQL 8.0后,如果后续想要使用其他语言(如C或C++)操作MySQL,需要安装MySQL开发库。

1. 确认MySQL开发库是否已安装

首先,你需要确认MySQL的开发库是否已经安装在你的系统上。在Ubuntu上,这通常是通过安装libmysqlclient-dev或类似的包来实现的。

你可以使用以下命令来检查这个包是否已经安装:

dpkg -l | grep libmysqlclient-dev

如果输出中没有显示libmysqlclient-dev包,那么你需要安装它。

2. 安装MySQL开发库

如果MySQL开发库没有安装,你可以使用以下命令来安装它:

sudo apt-get update
sudo apt-get install libmysqlclient-dev

这将安装MySQL的开发库,包括头文件和库文件,到系统的标准位置。

3. 查找头文件

使用命令ls /usr/include/查看有咩有MySQL对应的头文件:
在这里插入图片描述

安装完libmysqlclient-dev后,头文件通常会被放置在/usr/include/mysql目录下(注意,这个路径可能因MySQL版本和Ubuntu版本的不同而有所变化)。你可以使用find命令来查找这些头文件:

sudo find /usr/include -name "*.h" | grep mysql

这将列出所有与MySQL相关的头文件。

4. 查找客户端动态库

在Ubuntu系统上安装完MySQL的开发包(如libmysqlclient-dev)后,对应的动态库文件通常会被放置在系统的标准库目录中。这个目录可能因Ubuntu版本和MySQL版本的不同而有所变化,但常见的路径包括/usr/lib//usr/lib/x86_64-linux-gnu/(对于64位系统)等。
在这里插入图片描述

要查找MySQL的动态库文件,你可以使用find命令或locate命令。以下是使用find命令查找MySQL动态库的一个示例:

sudo find /usr -name "libmysqlclient*"

这个命令会在/usr目录下搜索所有名称以libmysqlclient开头的文件,这通常会包括动态库文件(如.so文件)。

另外,你也可以使用dpkg命令来查看libmysqlclient-dev包安装的文件列表,这可能会给出动态库文件的确切路径:

dpkg -L libmysqlclient-dev | grep ".so"

这个命令会列出libmysqlclient-dev包安装的所有文件,并通过grep命令筛选出以.so结尾的文件(即动态库文件)。
在这里插入图片描述

请注意,由于系统配置和MySQL版本的不同,动态库文件的实际路径可能会有所不同。因此,上述命令给出的路径只是常见的示例,并不保证在所有情况下都适用。如果你无法找到动态库文件,请确保你已经正确安装了MySQL的开发包,并尝试使用不同的搜索路径或命令来查找。

此外,如果你使用的是MySQL的某个特定版本(如从源代码编译的版本),你可能需要查看MySQL的安装文档或配置文件,以确定动态库文件的确切位置。

5. 配置编译器

如果你在使用C或C++编写程序并希望链接MySQL库,你需要在编译时指定头文件的路径和库文件的路径。这通常是通过在编译命令中添加-I-L选项来实现的,以及使用-lmysqlclient来链接MySQL库。

例如,如果你的源文件是my_program.c,你可以使用以下命令来编译它:

gcc -o my_program my_program.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient

注意,这里的/usr/lib/mysql是库文件通常所在的路径,但也可能因系统配置的不同而有所变化。你可以使用find命令或locate命令来查找库文件的确切位置。

注意事项

  • 如果你在安装libmysqlclient-dev时遇到问题,可能是因为你的Ubuntu系统没有启用MySQL的官方APT存储库。在这种情况下,你可以按照MySQL官方文档中的说明来添加和配置这个存储库。
  • 如果你使用的是MySQL的某个特定版本(如从源代码编译的版本),你可能需要下载并安装与该版本相对应的开发库。
  • 在编写和编译与MySQL交互的程序时,请确保你遵循了MySQL的API和最佳实践,以避免潜在的安全问题和兼容性问题。

今天的分享就到这里了,如果,你感觉这篇博客对你有帮助的话,就点个赞吧!感谢感谢……


http://www.ppmy.cn/news/1558106.html

相关文章

微软的AI转型故事

在一次备受瞩目的深度访谈中,微软的CEO萨提亚纳德拉与著名投资人比尔格里和布拉德格斯特纳展开了一场关于微软十年转型与AI未来的深入探讨。这次对话不仅回顾了微软在纳德拉领导下的重大发展轨迹,也为AI时代的战略布局提供了洞见。 纳德拉的职业起点 故…

视频汇聚融合云平台Liveweb一站式解决视频资源管理痛点

随着5G技术的广泛应用,各领域都在通信技术加持下通过海量终端设备收集了大量视频、图像等物联网数据,并通过人工智能、大数据、视频监控等技术方式来让我们的世界更安全、更高效。然而,随着数字化建设和生产经营管理活动的长期开展&#xff0…

闯关leetcode——3158. Find the XOR of Numbers Which Appear Twice

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/find-the-xor-of-numbers-which-appear-twice/description/ 内容 You are given an array nums, where each number in the array appears either once or twice. Return the bitwise XOR of all …

JavaAgent技术应用和原理:JVM持久化监控

背景 字节码增强技术 字节码增强:Java Agent通过修改字节码来实现对应用程序的增强,例如添加日志、性能监控、事务管理等。工具:常用的字节码增强工具包括ASM、Javassist、Byte Buddy等。 JavaAgent技术基于JVM工具接口(JVMTI&…

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率

京准电钟解读,NTP网络授时服务器如何提升DCS系统效率 京准电钟解读,NTP网络授时服务器如何提升DCS系统效率 NTP 网络授时服务器为防火墙内的网络设备、终端、服务器提供准确、可靠和安全的高精度卫星时间参考,可为它支持数万台支持标准的网…

Vue3中路由跳转之后删除携带的query参数

场景 今天在开发时遇到一个需求,需要页面跳转后,将路由携带的参数输入搜索框进行筛选,筛选条件回显后产生了一个问题,刷新页面筛选条件会一致存在,因为在页面挂载时将路由上的query参数赋值给了筛选条件,需…

时钟抖动定义和测量方法

1. 简介 抖动是一组信号边沿与其理想值的时序变化。时钟信号中的抖动通常是由系统中的噪声或其他干扰引起的。影响因素包括热噪声、电源变化、负载条件、设备噪声以及附近电路耦合的干扰。 2. 抖动的类型 抖动可以通过多种方式测量。以下是抖动的主要类型: 周期…

Win10系统下:启动若依3.8.8版本的前后端框架

本文章参考了该博主写的文章,安装及其他详情见链接:若依安装教程(保姆级教程) 下面重点写启动前后端走的弯路,顺序一定是 先启动Redis,运行vue框架,先数据库,再后端,最后…