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

How to use gdb to debug core files in Linux

1.core file When a Segmentation fault (core dumpe...

Vue-cli creates a project and analyzes the project structure

Table of contents 1. Enter a directory and create...

Echarts Basic Introduction: General Configuration of Bar Chart and Line Chart

1Basic steps of echarts Four Steps 1 Find the DOM...

Comprehensive understanding of HTML Form elements

As shown below: XML/HTML CodeCopy content to clip...

JS realizes the card dealing animation

This article example shares the specific code of ...

Navicat for MySQL scheduled database backup and data recovery details

Database modification or deletion operations may ...

Example of automatic import method of vue3.0 common components

1. Prerequisites We use the require.context metho...

Detailed explanation of how a SQL statement is executed in MySQL

Overview I have recently started learning MySQL r...

How to display web pages properly in various resolutions and browsers

The key codes are as follows: Copy code The code i...

MySQL Series 3 Basics

Table of contents Tutorial Series 1. Introduction...

Problems encountered in the execution order of AND and OR in SQL statements

question I encountered a problem when writing dat...

Implementation of Docker batch container orchestration

Introduction Dockerfile build run is a manual ope...

Explaining immutable values ​​in React

Table of contents What are immutable values? Why ...

In-depth reading and practice records of conditional types in TypeScript

Table of contents Using conditional types in gene...