前言
Ubuntu18.04想要安装MySQL,只能安装MySQL8.0版本。如果你直接 apt-get install mysql-server 安装,那么恭喜踩坑!
先给出彻底删除mysql5.x的命令:
#下面命令依次执行 sudo rm /var/lib/mysql/ -R # 删除数据库目录 sudo rm /etc/mysql/ -R #删除启动脚本、配置文件等 sudo apt-get autoremove mysql* --purge # 卸载mysql所有文件 sudo apt-get remove apparmor # 这个apparmor是在装mysql-server时装上的,和安全有关 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 清理残余mysql文件
apt-get install mysql-server 会默认安装MySQL5.7,将会出现一系列莫名其妙的问题。比如:安装过程没有要求输入root密码,登录mysql时,无论有没有密码,密码正确与否都可以随便登入。为了解决这些问题搞了一个下午 + 一个晚上……
然而查阅资料才发现,MySQL5.7最高只是配到Ubuntu17.04,而MySQL8.0最高适配到Ubuntu18.04。
下载deb包并安装
所以,要去此处下载文件:https://dev.mysql.com/downloads/repo/apt/ 下载一个mysql-apt-config_0.8.10-1_all.deb文件,进入下载文件夹,使用命令安装:
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
安装过程会让你选择mysql版本,选中 【Mysql Server & Cluster】,进入版本选择页
选中【mysql-8.0】,再按Tab键选中【确定】,回车,会回到上图界面,选中【OK】再回车。
安装MySQL8.0
安装完成后,更新系统和软件源
sudo apt update
然后再使用命令安装mysql8.0
sudo apt install mysql-server
会出现如下界面要求输入MySQL密码,然后会再输入一次
然后选择密码加密方式,选择第二个使用旧版本5.x的加密方式,如果选择第一个的话用Mysql Workbench连接的时候会不支持授权方式
最后在终端输入命令并输入密码检查安装成功而且可以看到MySQL版本号为8.0:
mysql -u root -p