前言
之前整理了一篇centos7安装mysql8 但是,我最近转战ubuntu了。尤其是,最近笔记本的磁盘还是最终没有撑住,重装了操作系统。索性就全线转战吧。为了避免两个操作系统之间具体操作细节的差异,也避免以后随时要去官网翻文档,读完再安装的尴尬,于是就有了本文。目的就是可以让在ubuntu20.04上安装mysql8这个过程可以被快速得重复。
下载镜像
在链接https://dev.mysql.com/downloads/repo/apt/ 下载deb文件,并上传到服务器中。
sudo dpkg -i ./mysql-apt-config_0.8.20-1_all.deb
安装仓库。这时会出现如下图的界面:
我是直接选择ok继续的。
sudo apt-get update
更新仓库
sudo apt-get install mysql-server
安装mysql。安装过程中跳出了如下界面
要求我设置一个安全的密码给root。如果留空就启用缺失密码登录,使用UNIX socket的基本认证。避免麻烦,我这里输入了我的密码。然后是如下界面
这里我保留了推荐配置
然后就安装完成了。
执行如下命令,配置数据库开机启动
sudo systemctl enable mysql.service
配置数据库远程访问
进入数据库
mysql -uroot -p
修改root用户远程访问
use mysql;
update user set host='%' where user='root';
flush privileges;
可能的问题
navicat登录报错
这个问题是由于刚才我们在选择加密方式的时候选择了默认的加密方式而不是之前5.x的加密方式。这个比较新,所以很多客户端还没有更新。解决的方法有两个,要么使用支持该加密方式的客户端,亲测最新的navicat已经支持,版本12.1.28。当然,也可以修改登录的加密方式。一下代码来源于网络,未测试,欢迎反馈:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;