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

Detailed explanation of how to connect Java to Mysql version 8.0.18

Regarding the connection method between Java and ...

Solution to the img tag problem below IE10

Find the problem I wrote a simple demo before, bu...

SQL Server Comment Shortcut Key Operation

Batch comments in SQL Server Batch Annotation Ctr...

Several specific methods of Mysql space cleaning

Table of contents Preface 1. Check the file disk ...

JavaScript to achieve product query function

This article example shares the specific code of ...

JS implements WeChat's "shit bombing" function

Hello everyone, I am Qiufeng. Recently, WeChat ha...

The complete usage of setup, ref, and reactive in Vue3 combination API

1. Getting started with setUp Briefly introduce t...

The simplest form implementation of Flexbox layout

Flexible layout (Flexbox) is becoming increasingl...

JS realizes the effect of Baidu News navigation bar

This article shares the specific code of JS to ac...

Four modes of Oracle opening and closing

>1 Start the database In the cmd command windo...

Detailed installation and use of docker-compose

Docker Compose is a Docker tool for defining and ...

Innodb system table space maintenance method

Environmental Description: There is a running MyS...