UBT2:ubuntu安装mysql5.7.20

本文详细记录了在Ubuntu 20.04上手动安装MySQL 5.7.20的过程,包括遇到的依赖问题及解决方法。首先,由于Ubuntu 20.04默认安装MySQL 8.0,作者选择了降级安装5.7.20。在安装过程中遇到了libaio1和libtinfo5的依赖问题,通过阿里云开源镜像站和`sudo apt --fix-broken install`命令分别解决了这两个依赖。最后,通过`mysql-uroot-p`命令验证了MySQL 5.7.20的安装成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.1 概述

2.1.1 简介:

​ 由于mysql5.7.20的配置并没有8.0复杂(时区配置,关键是懒),并且mysql5.7.20已经用了很久了。所以,打算在ubuntu上面安装mysql5.7.20版本。由于ubuntu20.04默认安装的是8.0,所以,有了以下这篇文章。

2.1.2 环境:

ubuntu版本: ubuntu20.04 LTS

日期: 2021.10.13
寄语: 结果ubuntu20.04升级到21.04给升级坏了,需要重新安装。

2.2 文件准备

文件下载地址: http://repo.mysql.com/apt/ubuntu/pool/mysql-5.7/m/mysql-community/

mysql-common_5.7.20-1ubuntu17.10_amd64.deb
mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb
mysql-client_5.7.20-1ubuntu17.10_amd64.deb
mysql-community-server_5.7.20-1ubuntu17.10_amd64.deb

2.3 安装

2.3.1 安装mysql-common_5.7.20-1ubuntu17.10_amd64.deb

yun@yun-Inspiron-7572:~/下载$ sudo dpkg -i mysql-common_5.7.20-1ubuntu17.10_amd64.deb 
[sudo] yun 的密码: 
dpkg: 警告: 即将把 mysql-common 从 5.8+1.0.5ubuntu2 降级到 5.7.20-1ubuntu17.10
(正在读取数据库 ... 系统当前共安装有 185297 个文件和目录。)
准备解压 mysql-common_5.7.20-1ubuntu17.10_amd64.deb  ...
正在解压 mysql-common (5.7.20-1ubuntu17.10) 并覆盖 (5.8+1.0.5ubuntu2) ...
正在设置 mysql-common (5.7.20-1ubuntu17.10) ...
正在安装新版本配置文件 /etc/mysql/conf.d/mysql.cnf ...
正在安装新版本配置文件 /etc/mysql/my.cnf.fallback ...

提示: 这一步完全正常,没有依赖缺失。

2.3.2 安装mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb

yun@yun-Inspiron-7572:~/下载$ sudo dpkg -i mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb 
正在选中未选择的软件包 mysql-community-client。
(正在读取数据库 ... 系统当前共安装有 185299 个文件和目录。)
准备解压 mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb  ...
正在解压 mysql-community-client (5.7.20-1ubuntu17.10) ...
dpkg: 依赖关系问题使得 mysql-community-client 的配置工作不能继续:
 mysql-community-client 依赖于 libaio1 (>= 0.3.93);然而:
  未安装软件包 libaio1。
 mysql-community-client 依赖于 libtinfo5 (>= 6);然而:

dpkg: 处理软件包 mysql-community-client (--install)时出错:
 依赖关系问题 - 仍未被配置
正在处理用于 man-db (2.9.1-1) 的触发器 ...
在处理时有错误发生:
 mysql-community-client

提示: 在这一步,可能会出现依赖缺失问题,可能是一个,也可能是两个。

解决方法:

  • 方案一:阿里云开源镜像站 下载缺失的依赖包,但是这种方法可能会出现不知道该下载什么包,然后下载下来的包用不了。

在这里插入图片描述

提示: 此处选择第二个,即可解决libaio1依赖缺失问题。但是,对于 libtinfo5 依赖,却不知道下载哪一个包,所以,一般采取第二种解决方案。

  • 方案二: 使用sudo apt --fix-broken install语句。终端便会自动去解决你的依赖缺失或者版本问题。
yun@yun-Inspiron-7572:~/下载$ sudo apt --fix-broken install
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在修复依赖关系... 完成
将会同时安装下列软件:
  libtinfo5
下列软件包将被【卸载】:
  libtinfo5-dbg
下列【新】软件包将被安装:
  libtinfo5
升级了 0 个软件包,新安装了 1 个软件包,要卸载 1 个软件包,有 90 个软件包未被升级。
有 2 个软件包没有被完全安装或卸载。
需要下载 83.0 kB 的归档。
解压缩后将会空出 1,013 kB 的空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu focal/universe amd64 libtinfo5 amd64 6.2-0ubuntu2 [83.0 kB]
已下载 83.0 kB,耗时 10(8,133 B/s)
(正在读取数据库 ... 系统当前共安装有 185375 个文件和目录。)
正在卸载 libtinfo5-dbg (6.1-1ubuntu1.18.04) ...
正在选中未选择的软件包 libtinfo5:amd64。
(正在读取数据库 ... 系统当前共安装有 185366 个文件和目录。)
准备解压 .../libtinfo5_6.2-0ubuntu2_amd64.deb  ...
正在解压 libtinfo5:amd64 (6.2-0ubuntu2) ...
正在设置 libtinfo5:amd64 (6.2-0ubuntu2) ...
正在设置 mysql-community-client (5.7.20-1ubuntu17.10) ...
正在处理用于 libc-bin (2.31-0ubuntu9.2) 的触发器 ...

重新安装mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb

yun@yun-Inspiron-7572:~/下载$ sudo dpkg -i mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb 
(正在读取数据库 ... 系统当前共安装有 185370 个文件和目录。)
准备解压 mysql-community-client_5.7.20-1ubuntu17.10_amd64.deb  ...
正在解压 mysql-community-client (5.7.20-1ubuntu17.10) 并覆盖 (5.7.20-1ubuntu17.10) ...
正在设置 mysql-community-client (5.7.20-1ubuntu17.10) ...
正在处理用于 man-db (2.9.1-1) 的触发器 ...

2.3.3 安装mysql-client_5.7.20-1ubuntu17.10_amd64.deb

yun@yun-Inspiron-7572:~/下载$ sudo dpkg -i mysql-client_5.7.20-1ubuntu17.10_amd64.deb 
正在选中未选择的软件包 mysql-client。
(正在读取数据库 ... 系统当前共安装有 185370 个文件和目录。)
准备解压 mysql-client_5.7.20-1ubuntu17.10_amd64.deb  ...
正在解压 mysql-client (5.7.20-1ubuntu17.10) ...
正在设置 mysql-client (5.7.20-1ubuntu17.10) ...

提示: 这一步没有任何问题,顺利执行。

2.3.4 安装mysql-community-server_5.7.20-1ubuntu17.10_amd64.deb

yun@yun-Inspiron-7572:~/下载$ sudo dpkg -i mysql-community-server_5.7.20-1ubuntu17.10_amd64.deb 
正在选中未选择的软件包 mysql-community-server。
(正在读取数据库 ... 系统当前共安装有 185376 个文件和目录。)
准备解压 mysql-community-server_5.7.20-1ubuntu17.10_amd64.deb  ...
正在解压 mysql-community-server (5.7.20-1ubuntu17.10) ...
dpkg: 依赖关系问题使得 mysql-community-server 的配置工作不能继续:
 mysql-community-server 依赖于 libmecab2;然而:
  未安装软件包 libmecab2。

dpkg: 处理软件包 mysql-community-server (--install)时出错:
 依赖关系问题 - 仍未被配置
正在处理用于 systemd (245.4-4ubuntu3.13) 的触发器 ...
正在处理用于 man-db (2.9.1-1) 的触发器 ...
在处理时有错误发生:
 mysql-community-server

提示: 这一步,出现依赖缺失问题。同样采取 sudo apt --fix-broken install 语句即可解决依赖问题。但是,由于是在整个软件安装成功之后才写的此文章,所以,难免有点记忆模糊。比如,在这一步,我的终端执行了 sudo apt --fix-broken install 语句之后,好像没有再执行 **sudo dpkg -i mysql-community-server_5.7.20-1ubuntu17.10_amd64.deb ** 语句了。但是我觉得又应该执行一下。所以,一时之间有点不清楚了。但是这并不影响,因为,mysql安装成功之后会让你设置root密码与确认密码,修复依赖语句执行之后没有出现,那就重新执行第二条语句。

img

至此,mysql5.7.20安装完成。

2.4 测试

yun@yun-Inspiron-7572:~/下载$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

提示: 输入 mysql -u root -p 语句之后,需要输入刚才设置的密码。如果出现这种提示,那么就表示,Mysql5.7.20安装成功

2.5 问题

2.5.1 关于userSSL

简介: 这个问题是这样的,当我安装好数据库,无论是在终端,还是在可视化工具上,都可以正常使用。但是,当我使用IDEA运行项目时,所有项目报错,并且这些项目,在原本的windows上面没有任何问题。而idea控制台输出信息为:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

提示: 几经查阅,是程序数据库连接URL的问题,我在URL中开启了安全连接。

这是数据库连接文件:

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username = root
jdbc.password = root

解决方法:

  • 第一种方法,将URL中的 useSSL=true 改为 useSSL=false 。此方法,来自于这位 大神
  • 第二种方法,修改配置文件,默认开启useSSL。尚未找到具体方法。

本文章参考自这里 ,在按照文章做时,出现了问题,我在安装第二个deb时,出现了两个依赖问题。所以,就寻找了其他方法来解决依赖问题。并且,写下此篇文章记录,以便他日之需。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值