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密码与确认密码,修复依赖语句执行之后没有出现,那就重新执行第二条语句。
至此,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时,出现了两个依赖问题。所以,就寻找了其他方法来解决依赖问题。并且,写下此篇文章记录,以便他日之需。