1.卸载mysql5.7

卸载:

$ sudo apt-get autoremove –purge mysql-server

$ sudo apt-get remove mysql-common

  清楚数据:

dpkg -l grep ^rcawk ‘{print $2}’ sudo xargs dpkg -P

 

2.检测残留

$ sudo dpkg –listgrep mysql

查看mysql有哪些依赖  

$ sudo apt-get remove XXXXX

$ sudo apt-get autoremove XXXXX

 

3.安装mysql8

注意: ubuntu会默认安装mysql5.7版本!!!  所以要先切换软件库   更新软件库:

sudo apt-get update

  在mysql官网下载8.0版本的deb文件并安装: https://dev.mysql.com/downloads/file/?id=477124 以 mysql-apt-config_0.8.10-1_all.deb,为例(一定要去官网下载最新版!!!) 切换到下载目录后执行安装命令

$ sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

  然后会弹出以下窗口,确认一下第一项MySQL Server & Cluster后面的版本是不是8.0版本,如果不是,将光标移动到此处,enter键修改成8.0。没问题后选OK   再次更新软件库:

$ sudo apt-get update

  安装mysql服务器:

$ sudo apt-get install mysql-server

  安装过程中,会弹出设置root用户的密码   之后弹出选择加密方式,建议选择5.X  

4.测试

mysql -u root -p

输入密码成功登陆即可  

5.使用phpmyadmin

成功后在shell下输入mysql -u root -p,再输入密码能正常进入,但在phpmyadmin连接,提示无法连接,具体报错信息为

mysqli_real_connect(): The server requested authentication method unknown to the client [sha256_password]

  原因; 8.0.11版本起,不再像mysql5.7及以前版本那样,设置用户密码时默认的验证方式为caching_sha2_password,如果发现升级mysql8.0.11后原有的程序不能连接mysql,可迅速在mysql command line client客户端用下面的命令设置成mysql5.7及以前版本的密码验证方式,同时MYSQL8.0.11下修改密码的方式与原先也不大一样,原先的部分修改密码的命令在mysql8.0.11下不能使用。   解决办法:为原来的验证方式,然后从新创建用户并授权即可

mysql -uroot -p
use mysql;
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;