Ubuntu16.04安装MySQL 8.0.13 / 客户端连接报错解决

  • Post author:
  • Post category:mysql




一、安装

参考:

1、下载mysql deb:https://dev.mysql.com/downloads/mysql/

202210101636140.webp

2、移动到/usr/local/src/目录,解压

sudo mv mysql-server_8.0.13-1ubuntu16.04_amd64.deb-bundle.tar /usr/local/src/
cd /usr/local/src/
sudo tar -xvf mysql-server_8.0.13-1ubuntu16.04_amd64.deb-bundle.tar

3、更新,安装依赖

sudo apt-get update
sudo apt-get install libaio1

4、安装MySQL

sudo dpkg -i mysql-common_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg-preconfigure mysql-community-server-core_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg -i libmysqlclient21_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-client-core_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-client_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-client_8.0.13-1ubuntu16.04_amd64.deb
sudo apt-get -f install
sudo apt-get -f install libmecab2
sudo dpkg -i mysql-community-server-core_8.0.13-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-server_8.0.13-1ubuntu16.04_amd64.deb

5、进入MySQL

mysql -u root -p

sudo service mysql start     # 启动
sudo  service mysql restart  # 重启
sudo service mysql stop      # 关闭
sudo service mysql status    # 检查mysql是否在运行



二、两个常见报错

安装完成之后常会见到以下两个错误:

  1. Host is not allowed to connect to this MySQL server
  2. Authentication plugin ‘caching_sha2_password’ cannot be loaded

正常情况的话,会先遇到第一个,再遇到第二个;解决第一个后,再解决第二个时,需要把第一个做的改动改回去才行,所以建议先解决第二个报错。

进入 mysql

mysql -u root -p

mysql>use mysql;
mysql>select host,user,plugin from user;

解决 Authentication plugin ‘caching_sha2_password’ cannot be loaded(还原加密规则)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
mysql>select host,user,plugin from user;

上面的mysql登录状态不要退出,接着……

解决 Host is not allowed to connect to this MySQL server(改表法)

mysql>update user set host = '%' where user = 'root';
mysql>select host,user,plugin from user;

最后刷新权限退出

mysql>flush privileges;
mysql>exit



版权声明:本文为zhangyuing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。