Ubuntu 20.04 卸载和安装 MySQL8.0

卸载

首先,检查一下系统安装的软件包有哪些,使用dpkg -l | grep mysql命令:

为了将MySQL卸载干净,这些文件都需要被删除。

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

一、停止MySQL服务

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

bash 复制代码
sudo service mysql stop

二、卸载MySQL软件包

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

bash 复制代码
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命令查看到的文件都需要被删除。

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

bash 复制代码
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命令提权):

bash 复制代码
sudo ls /var/lib/mysql
sudo ls /etc/mysql
sudo ls /var/log/mysql

能够查到的文件,就删除掉,没有就不需要删。如,我系统中/var/log/mysql目录下,没有文件就不需要删除。

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

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

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

bash 复制代码
sudo ls /var/lib/mysql
sudo ls /etc/mysql
sudo ls /var/log/mysql

找不到文件,就是删除成功了。

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

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

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

五、验证卸载是否彻底

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

bash 复制代码
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目录:

bash 复制代码
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键进行补齐即可):

bash 复制代码
dpkg -i mysql-apt-config_0.8.33-1_all.deb

第一个选项,是选择要安装的MySQL的版本,可以回车进行选择,回车后的界面为:

再按一下Esc键可以退回上一个界面。

按方向键下键,选择第二个选项,第二个选项是用来安装连接器的:

这里就直接是Enabled即可。

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

从MySQL APT 源更新包信息

apt-get update

安装MySQL

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

安装过程中,会让你输入初始密码(这个密码是你马上用来登录MySQL时使用的密码):

后面还有一步,重新输入密码,你直接重新输入即可,这里就不截图了。

重新输入密码后,出现选择默认的身份验证插件(default authentication plugin):

这里可以使用第一个,选择第一个回车即可:

安装完成。

查看MySQL状态

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

bash 复制代码
systemctl status mysql #查看mysql服务状态

为了后续MySQL操作,这里可以将MySQL服务设置为开机自启动

bash 复制代码
systemctl enable mysql #设置自启动
systemctl list-unit-files|grep mysql #查看状态

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

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

bash 复制代码
su 用户名  # 切换用户
cd ~      # 回到用户家目录

登录MySQL

bash 复制代码
mysql -uroot -p

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

下面执行一些简单的SQL语句,没有什么意义:

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

一些配置

字符集

一、找到并编辑配置文件

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

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

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

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

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

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

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

三、保存并重启MySQL服务

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

四、验证修改

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

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

  1. 在MySQL控制台中,执行以下命令来查看当前的字符集设置:
sql 复制代码
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或类似的包来实现的。

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

bash 复制代码
dpkg -l | grep libmysqlclient-dev

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

2. 安装MySQL开发库

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

bash 复制代码
sudo apt-get update
sudo apt-get install libmysqlclient-dev

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

3. 查找头文件

使用命令ls /usr/include/查看有咩有MySQL对应的头文件:

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

bash 复制代码
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动态库的一个示例:

bash 复制代码
sudo find /usr -name "libmysqlclient*"

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

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

bash 复制代码
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,你可以使用以下命令来编译它:

bash 复制代码
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和最佳实践,以避免潜在的安全问题和兼容性问题。

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

相关推荐
honghong______18 分钟前
第一章 操作系统引论
linux·网络
林农22 分钟前
C05S11-MySQL数据库索引
linux·mysql·云计算
gsgbgxp34 分钟前
Ubuntu将深度学习环境配置移植到新电脑
深度学习·ubuntu
海涛高软40 分钟前
linux上qt打包(二)
linux·运维·服务器
Cachel wood1 小时前
Vue.js前端框架教程10:Vue生命周期钩子onBeforeMount 和onMounted
linux·前端·javascript·vue.js·阿里云·前端框架·ecmascript
Web项目开发1 小时前
GoCD 持续集成和部署工具配置指南(CentOS 7)
linux·ci/cd·centos
小锋学长生活大爆炸2 小时前
【教程】apache设置禁止通过IP访问,只能域名访问
linux·运维·服务器·网络·网络协议·tcp/ip·apache
七七期2 小时前
解决JPS少DataNode的情况
linux·运维·服务器
ziyue75752 小时前
electron打包linux环境
linux·javascript·electron