摘要:使用国内源安装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就安装完成了。
一切都正常,默认的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