服务器Ubuntu Server 22.04安装低版本MySQL5.7
最近在腾讯云买了个服务器准备部署我的Django项目,由于需要保证服务器和本地开发的环境相同,所以要在Ubuntu 22.04安装一个与本地Windows版本相同的MySQL5.7.36
第一个问题
首次安装我尝试使用apt工具去安装,但是
更新apt-get工具包
sudo apt-get update
sudo apt-get upgrade
安装命令
sudo apt-get install mysql-server-5.7
报错提示
However the following packages replace it:
mariadb-test mariadb-server-10.6
原因是Ubuntu和apt工具版本升级后,不再适用于直接安装mysql-server,而是mariadb-server-10.6
为了匹配项目开发环境,我舍弃了这种安装方法
第二个问题
第二次尝试使用MySQL官方的APT存储库:https://dev.mysql.com/downloads/repo/apt/
参考教程:https://blog.csdn.net/m0_47031476/article/details/125356603
查看版本
(目前是0.8.25-1版本)
执行命令
下载链接里的deb包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb
安装刚下载的deb包
dpkg -i mysql-apt-config_0.8.25-1_all.deb
安装过程中会弹出一个配置框,可选择MySQL版本
选择第一个选项后,里面只有8.0版本可选,但我需要5.7版本。
若下载旧版0.8.22-1的deb包,就提示当前系统与此deb包不兼容,让我选择可用的Ubuntu系统,以下四个都是Ubuntu 22.04之前的版本别名
ubuntu bionic(Ubuntu 18.04)
ubuntu focal(Ubuntu 20.04)
ubuntu hirsute(Ubuntu 21.04)
ubuntu impish(Ubuntu 21.10)
因此这个方法也不可行
解决方法
参考教程:https://blog.csdn.net/weixin_38640195/article/details/107431635
选择版本
进入MySQL官方的Community Server选择历史版本:https://downloads.mysql.com/archives/community/
下载tar包
可以使用wget命令链接下载地址,也可以使用腾讯云提供的文件上传,将tar包放在Ubuntu的一个目录中
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.36-1ubuntu18.04_amd64.deb-bundle.tar
在目录下解压tar包
tar xvf ./mysql-server_5.7.36-1ubuntu18.04_amd64.deb-bundle.tar
解压后目录
安装
安装依赖lib包
sudo apt-get install ./libmysql*
sudo apt-get install libtinfo5
安装客户端和服务端,按提示可能要先安装community版本
sudo apt-get install ./mysql-community-client_5.7.36-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-client_5.7.36-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-community-server_5.7.36-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-server_5.7.36-1ubuntu18.04_amd64.deb
过程中会提示设置MySQL的密码,用户名默认root
启动MySQL
检查状态
一般安装成功就自动启动,输入命令检查启动状态
systemctl status mysql.service
绿色的active表示运行中
登录MySQL
mysql -u root -p
输入密码后,如下界面就是进入MySQL命令行
输入 exit
退出
安装成功,可以选择删除安装包
sudo rm -rf /安装包所在目录(不能是根目录)