首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Docker 中创建 mysql 容器,并设置远程连接

Docker 中创建 mysql 容器,并设置远程连接

作者头像
张云飞Vir
发布于 2020-05-26 14:02:19
发布于 2020-05-26 14:02:19
12.5K00
代码可运行
举报
文章被收录于专栏:写代码和思考写代码和思考
运行总次数:0
代码可运行

0. 背景

Docker 中创建 mysql 容器

1.创建MySQL容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  docker run -di --name mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-p 代表端口映射,格式为 宿主机映射端口:容器运行端口 -e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码

可能遇到的问题 这个时候使用客户端连接工具连接的话,会遇到: Client does not support authentication protocol 的错误。

解决办法是设置远程登录,让我们继续。

2. 设置远程登录

2.1 进入MySQL容器,登陆MySQL

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  docker exec -it mysql /bin/bash

2.2 登陆mysql**

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  mysql -u root -p

2.3 输入密码

这个时候会提示输入密码,输入即可。

2.4 进行授权远程连接授权

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRANT ALL ON *.* TO 'root'@'%';

刷新权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flush privileges

注意,这时还不能远程访问 因为Navicat只支持旧版本的加密,需要更改mysql的加密规则

2.5 更改加密规则

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更新root用户密码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flush privileges;

然后就可以使用 Navicat 连接数据库了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
docker安装mysql
安装docker建议参考官网给出的教程(文字末尾阅读原文即可跳转至docker官网安装文档)
烤红薯
2021/12/23
3K0
docker安装mysql
docker 创建mysql镜像,并成功进行远程连接
然后可以进入容器的命令行模式,接着修改 /etc/mysql/my.cnf 文件即可
hbbliyong
2018/12/19
3K0
Docker安装MySQL并使用Navicat连接
  MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
追逐时光者
2022/09/29
3.7K0
Docker安装MySQL并使用Navicat连接
MySQL8.0设置远程访问权限方法学习
安装了mysql 8.0.11 之后本地可以登录,但是远程第三方工具无法连接,防火墙已经放通的,
用户1289394
2018/12/29
4.9K0
MySQL8.0设置远程访问权限
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
拓荒者
2019/03/14
4.1K0
docker部署mysql 实现远程连接[通俗易懂]
2.docker pull mysql 要选择starts最高的那个name 进行下载
全栈程序员站长
2022/07/28
2.8K0
docker部署mysql 实现远程连接[通俗易懂]
centOS8 安装MySQL8(亲测)
如果你还在寻寻觅觅CentOS上安装MySQL的教程而不得,那看到这里就不用转走了。 说实在的,我今天搞了一天了。
看、未来
2020/10/09
4K2
centOS8 安装MySQL8(亲测)
Docker创建MySQL容器并远程连接
先登录并做一些修改以便 navicat 连接,密码为 root 账号也是 root 以上已经介绍过了。
程序员NEO
2023/09/30
8890
Docker创建MySQL容器并远程连接
Docker应用部署
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登陆密码
cwl_java
2019/12/25
1.1K0
MySQL8.0本地访问设置为远程访问权限
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
拓荒者
2019/03/14
4.5K0
Docker篇之如何部署MySQL
-e 代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登陆密码
Maynor
2021/12/01
7960
Docker篇之如何部署MySQL
使用docker部署项目_mysql的使用
设置root用户在任何地方进行远程登录,并具有所有库任何操作权限。 (暴露的攻击面太大)。
全栈程序员站长
2022/11/02
1.3K0
使用docker部署项目_mysql的使用
docker创建mysql,以及mysql无法连接问题
Docker开放3306端口实现步骤 本文将介绍如何使用Docker开放3306端口,以便其他容器或外部应用程序可以通过该端口访问MySQL数据库。以下是实现步骤的简要说明:
allsmallpig
2024/03/19
4.9K0
docker启动mysql并打开远程连接「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188610.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
3.3K0
docker启动mysql并打开远程连接「建议收藏」
mysql8.0配置允许远程连接_设置允许远程连接
2.MySQL远程连接ERROR 2003 (HY000):Can’t connect to MySQL server on’XXXXX’ (10060)
全栈程序员站长
2022/11/07
12.4K0
mysql8.0配置允许远程连接_设置允许远程连接
Docker 安装mysql数据库
1、 Docker 教程地址:https://www.runoob.com/docker/centos-docker.install.html
AlexZhang
2021/11/26
5.2K0
虚拟机Docker安装MySQL5.7并配置宿主机访问
Windows下VMware的Linux的Docker安装MySQL5.7,并配置Windows下可连接该MySQL。
无道
2019/11/13
4.1K1
虚拟机Docker安装MySQL5.7并配置宿主机访问
mysql 2059,1396,1130错误处理 Navicat远程连接数据库方式。
2059原因,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
全栈程序员站长
2022/07/19
6750
Docker安装MySQL 8.0过程记录
2. 启动docker         # systemctl start docker
星哥玩云
2022/08/17
2.3K0
Docker实践经验(四)docker 上部署 mysql8 主从复制
需要一个 MySQL8 版本的 MySQL,因为我个人没有用过 mysql5,不知道二者是否会有一些特性上的偏差。
看、未来
2022/05/06
6290
Docker实践经验(四)docker 上部署 mysql8 主从复制
相关推荐
docker安装mysql
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档