在Ubuntu20.04上安装Mysql5.6

因为Ubuntu20.04比较新,而Mysql5.6比较老,所以这两者之间的支持不太好。也不知道是服务器本身就有啥问题,还是两者软件的支持不足,我在安装Mysql5.6的时候遇到了很多困惑和问题。

2.1 彻底卸载MYSQL

因为不清楚服务器的具体状况,前面也实验了很多次都失败了,所以要先彻底的清除Mysql,然后再进行后续的安装。

第一,使用命令dpkg --list|grep mysql查看跟Mysql相关的包。

第二,首先卸载common包。sudo apt-get remove mysql-common

第三,卸载Mysql数据库的服务器包。sudo apt-get autoremove --purge mysql-server-x.x

第四,清除残留数据:dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P

最后,使用第一步的命令查看剩余的依赖包,并卸载他们。

这个时候再使用第一步的命令发现没有项目了,但是在/etc/mysql下还有一些cnf文件残余,这里我把他们删掉了。

至此,就在Ubuntu上彻底的卸载了Mysql。

2.2 在Ubuntu20.04上安装Mysql5.6

2.2.1 用apt进行安装

前面尝试着使用过下载TAR包然后手动安装的方法,但是报错层出不穷,一直都没有解决,所有最后还是决定使用apt来安装。

首先要添加源,如果没有加这几个源,会报错找不到Initscripts这个问题。

sudo vim /etc/apt/sources.list

# 清华镜像源

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

添加源之后,使用命令sudo apt-get install mysql-server-5.6安装5.6的服务器部分。

又报错E: Sub-process /usr/bin/dpkg returned an error code (1)。

具体的报错是:

准备解压 .../mysql-server-5.6_5.6.16-1~exp1_amd64.deb  ...

Aborting downgrade from (at least) 5.7 to 5.6.

If are sure you want to downgrade to 5.6, remove the file

/var/lib/mysql/debian-*.flag and try installing again.

dpkg: 处理归档 /var/cache/apt/archives/mysql-server-5.6_5.6.16-1~exp1_amd64.deb (--unpack)时出错:

 新的 mysql-server-5.6 软件包 pre-installation 脚本 子进程返回错误状态 1

在处理时有错误发生:

 /var/cache/apt/archives/mysql-server-5.6_5.6.16-1~exp1_amd64.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

刚才安装成功让我输入root密码,但是这次直接报错了,并没有出现第一次的配置指引。

我先按照1中的步骤把没有完全安装好的mysql删干净,然后尝试着去掉报错信息中的东西再试试。结果卸载后没有那个文件了,所以试着重新安装并且删除,结果这个时候还是没有那个文件。

试到这里我放弃了这种方式,决定自己下载TAR包进行编译安装。

2.2.2 自行编译安装

前面试了很多种方法都没有成功,这里使用下载的tar包进行自己编译安装,终于成功了。

首先,从网上下载5.6版本的Mysql安装包。这里可以从官网下,不过我选择的是从这个镜像网站下载http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.6/。这里我随便选了一个,下载的是mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz。下载好之后,使用FTP工具上传到服务器上。然后使用命令tar -zxvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz解压缩,使用命令mv mysql-5.6.15-linux-glibc2.5-x86_64 Mysql将解压出来的文件重命名为Mysql。

后续的步骤需要root权限,如果没有权限的可以试试别的方法,反正我是没有成功。

然后,安装几个Mysql要求的必要的依赖包,使用命令sudo apt-get install libaio1sudo apt-get install libncurses5 libstdc++6来安装必要的依赖库。

接下来就开始安装了。

1)添加一个组,名为mysql5.6,使用命令sudo groupadd mysql5.6

2)在这个组中添加一个用户,sudo useradd -r -g mysql5.6 mysql5.6

3)复制刚才解压出的文件夹到local中,cp 解压的包的路径 -r /usr/local

4)进入/local/Mysql目录下,cd /usr/local/Mysql

5)更改文件夹的所有者,注意不要忘记了最后面的点:

sudo chown -R mysql5.6 .

sudo chgrp -R mysql5.6 .

6)执行Mysql的安装脚本,scripts/mysql_install_db --user=mysql5.6

7)重新设置这个文件夹的所有者为你自己,sudo chown -R 你的账号名,设置data的所有者为mysql5.6,sudo chown -R mysql5.6 data

8)启动mysql,bin/mysqld_safe –user=mysql5.6 &。这里有可能会提示找不到这个命令,因为系统默认是在/usr/bin目录下寻找命令,那么就在这里添加一个软链接,ln -s /usr/local/Mysql/ bin/mysqld_safe /usr/bin/mysqld_safe。然后再执行上面的安装指令。

9)初始化root用户(mysql中的root用户)密码,bin/mysqladmin -u root password ‘你的新密码’

10)复制mysql.server脚本,sudo cp support0-files/mysql.server /etc/init.d/mysql.server。

11)给mysql命令配置软连接,以便于能直接启动,如果不想配置软连接启动,也可以设置环境变量启动。

ln -s /usr/local/Mysql/bin/mysql /usr/bin/mysql

12)开始使用,mysql -u root -p,然后输入刚才设置的密码即可,进入这个界面说明安装成功,输入quit;退出Mysql。

在Ubuntu20.04上安装Mysql5.6_第1张图片

输入mysql -V查看安装的版本,发现安装成功。

你可能感兴趣的:(ubuntu,linux,mysql)