Ubuntu18.04国内源安装MySQL8.0

摘要:使用国内源安装MySQL8,同时借助国内源解决依赖问题。因为官方源从Oracle下载速度太慢了

本文以163网易云的镜像源为例,阿里云镜像源我没有找到对应MySQL8的包。

替换163软件源#

为什么要替换163源?因为后面我们需要通过这个源来修复缺失的依赖(理论上国内的其他源也是可以的,但是我没有测试过)
备份配置文件:

sudo mv /etc/apt/sources.list  /etc/apt/sources.list.bak

这里我用的是mv命令,所以原先的sources.list就不存在了,后文编辑的时候就会新建文件,不需要清空内容了。
编辑替换镜像:

sudo vi /etc/apt/sources.list 

文件内容如下:

deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
#deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

使用网易云163源的bionic镜像,注意版本 ——镜像地址
更新源:

sudo apt-get update

下载MySQL8安装包#

在163源同步的MySQL包列表 http://mirrors.163.com/mysql/Downloads/MySQL-8.0/ 中找到Ubuntu18.04的包(可以通过搜索ubuntu18.04关键字)
其中有个包叫: mysql-server_8.0.19-1ubuntu18.04_amd64.deb-bundle.tar
它把MySQL相关的包都打包在了一起,所以我们下载这个就不需要一个个下独立的安装包了。我们拿到这个包的下载地址,放到Ubuntu中下载:

wget http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-server_8.0.19-1ubuntu18.04_amd64.deb-bundle.tar

截止到20/03/19,MySQL最新版是8.0.19,自行寻找最新版

解包并安装#

解包#

下载完成后,新建mysql目录,解压tar包到该目录下:

mkdir mysql
tar xf mysql-server_8.0.19-1ubuntu18.04_amd64.deb-bundle.tar -C mysql/
cd mysql

安装#

列出所有的软件,可以发现包里有些软件是不需要的:

可以看到这几个蓝色框出来的deb包,都带test、debug字样,正常仅仅是使用数据库功能是不需要的,可以使用rm命令删除后再安装(如果需要的话就别删)
我删除后如下图所示:

接着使用dpkg命令批量安装所有的deb

sudo dpkg -i *.deb

因为缺失libmecab2等依赖项,所以会安装失败,但是一定要做这一步,目的是为了后面使用apt-get命令自动安装缺失的依赖
从图中可以看到提示缺失了依赖项,所以安装mysql-community-server-core失败,其余依赖mysql-community-server-core的包都安装失败了:

接着使用apt-get命令修复依赖:

sudo apt-get -f -y install

使用该命令后,会看到检测到之前提示的libmecab2等依赖,会自动安装上:

安装完后会继续安装刚刚我们的未完成的MySQL安装,而MySQL安装完成后会自动进入配置界面,配置密码:

提示是否使用强加密,选ok:

到此MySQL就安装完成了。

测试MySQL服务是否启用:

可以看到服务正常运行状态,尝试登陆MySQL:

一切都正常,默认的root账号只能本地登录MySQL。

配置远程登陆#

如果需要配置远程登陆,需要修改user表,可以查看该CentOS 8 安装MySQL 8.0文章中 配置远程登陆 这一章节,操作都是一样的,就不赘述了

关闭MySQL主机查询dns说明#

MySQL会反向解析远程连接地址的dns记录,如果MySQL主机无法连接外网,则dns可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。
打开/etc/my.cnf文件,添加以下配置:

[mysqld]
skip-name-resolve

我在Ubuntu中进行此操作后,依然连接很慢,在网卡配置中删除nameservers节点配置即可。

原文:https://www.cnblogs.com/kasnti/p/12523785.html