Solution to failure in connecting to mysql in docker

Solution to failure in connecting to mysql in docker

Scenario: After installing the latest version of MySQL in the Docker container of the virtual machine, the following error appears when using Navicat to connect to MySQL in the virtual machine on the host machine:

2059 : Authentication plugin 'caching_sha2_password' cannot be loaded:

Solution:

1. First, use the docker ps command to check the running container to make sure that the mysql we want to connect to has been started. If it has not been started, use the docker start command to start it (the result in the figure below shows that a mysql has been started)

2. Then run docker exec -it b30062adc08c /bin/bash to enter the mysql container

3. Then enter the mysql -u root -p command, then enter your password, and finally enter the update password statement:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4. Finally, restart MySQL and use navicat to connect successfully.

Supplementary knowledge: Solution to the error of local remote connection to MySQL in Docker (1251)

The error is as follows:

Reason: MySQL 8.0 uses the caching_sha2_password authentication mechanism by default; the client does not support the new encryption method

Solution: Modify the encryption method of the user (root)

1. Enter the mysql container and enter in docker

docker exec -it mysql02 bash

2. Log in to MySQL

mysql -u root -p

As shown in the picture, enter 123456 and press Enter.

3. Set user configuration items

(1) View user information

select host,user,plugin,authentication_string from mysql.user;

(2) Modify the encryption method

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456 is the login password of mysql

(3) Check user information again

select host,user,plugin,authentication_string from mysql.user;

(4) Use Navicate or other database software to connect again, success

(5) Supplement: If you want to exit normally without closing the container, you can exit the container by pressing Ctrl+P+Q

Exit the mysql container: Ctrl+D, press twice

The above solution to the failure to connect to mysql in docker is all the content that the editor shares with you. I hope it can give you a reference. I also hope that you will support 123WORDPRESS.COM.

You may also be interested in:
  • Methods for deploying MySQL services in Docker and the pitfalls encountered
  • Detailed explanation of using MySQL database in docker (access in LAN)
  • How to install MySQL 8.0 in Docker
  • Detailed explanation of importing/exporting MySQL data in Docker container
  • Install and run a MySQL instance on Docker
  • A practical record of a docker login mysql error problem

<<:  Mysql optimization tool (recommended)

>>:  Detailed explanation of the difference between JavaScript onclick and click

Recommend

JS Canvas interface and animation effects

Table of contents Overview Canvas API: Drawing Gr...

Linux bash: ./xxx: Unable to execute binary file error

Today I sent a small tool for Ubuntu to a custome...

How to build a DHCP server in Linux

Table of contents 1. Basic knowledge: 2. DHCP ser...

Two ways to completely delete users under Linux

Linux Operation Experimental environment: Centos7...

XHTML no longer uses some obsolete elements in HTML

When we do CSS web page layout, we all know that i...

js realizes the magnifying glass function of shopping website

This article shares the specific code of js to re...

Summary of the execution issues between mysql max and where

Execution problem between mysql max and where Exe...

VUE+SpringBoot implements paging function

This article mainly introduces how to implement a...

How to install Docker and configure Alibaba Cloud Image Accelerator

Docker Installation There is no need to talk abou...

Docker deploys nginx and mounts folders and file operations

During this period of time, I was studying docker...

JavaScript realizes magnifying glass special effects

The effect to be achieved: When the mouse is plac...