使用Navicat无法连接到CentOS中Docker容器内的Mysql

主要考虑是权限设置的问题。

首先在docker启动mysql镜像,并映射到centos系统端口。

docker run --name [自定义镜像名]-e MYSQL_ROOT_PASSWORD=[密码] -p 3306:3306 -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

查看镜像运行情况

docker ps

在这里插入图片描述
进入容器启动mysql

docker exec -it 7327cec47855 /bin/bash

登录mysql服务

mysql -u[用户名 默认是root] -p[密码]

查看user表

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

使用Navicat无法连接到CentOS中Docker容器内的Mysql_第1张图片

重要

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

BY后面表示一个密码。

接下来更新一下权限。

FLUSH PRIVILEGES;

查看表

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

使用Navicat无法连接到CentOS中Docker容器内的Mysql_第2张图片第一行 plugin字段已修改

再连接
使用Navicat无法连接到CentOS中Docker容器内的Mysql_第3张图片

你可能感兴趣的:(MySQL,Docker,CentOS)