前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker创建MySQL容器并远程连接

Docker创建MySQL容器并远程连接

原创
作者头像
BNTang
发布2023-09-30 19:45:57
5350
发布2023-09-30 19:45:57
举报

下载镜像

代码语言:shell
复制
docker pull mysql/mysql-server:8.0

运行实例

代码语言:shell
复制
docker run -d --name myMySQL8.0 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% mysql/mysql-server:8.0

如上运行实例命令的含义如下:

  • run:运行
  • -d:后台运行
  • --name:起个名字
  • -p:映射端口,用主机的 3308 映射到容器中MySQL的 3306 端口
  • -e MYSQL_ROOT_PASSWORD:就是说要去设置密码,用户名和密码都统一设置为了 root
  • -e MYSQL_ROOT_HOST:设置主机,% 代表的是当前的本地主机最后一个就是 镜像的名称:TAG名称
image-20210902142101400
image-20210902142101400

实例了一个容器之后在进入到容器当中命令如下:

代码语言:shell
复制
docker exec -it myMySQL8.0 bash
image-20210902142353535
image-20210902142353535

然后就可以利用 mysql -u root -p 连接 MySQL 如下所示。

image-20210902142619967
image-20210902142619967

先登录并做一些修改以便 navicat 连接,密码为 root 账号也是 root 以上已经介绍过了。

2059 问题解决方案

原因为安装时选择了强加密规则 caching_sha2_password,与之前的 MySQL5.7 的 mysql_native_password 规则不同,navicate 驱动目前不支持新加密规则,解决办法就是通过终端的方式连接 MySQL 之后运行如下命令即可更改一下加密规则。

代码语言:shell
复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
代码语言:shell
复制
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
image-20210902144136608
image-20210902144136608

1045 access denied

默认 root 用户是不能进行远程访问连接的,解决办法就是通过终端的方式连接 MySQL 之后运行如下命令即可访问。

代码语言:shell
复制
alter user 'root'@'localhost' identified by 'root';
代码语言:shell
复制
alter user 'root'@'%' identified by 'root';
代码语言:shell
复制
flush privileges;
image-20210902144433197
image-20210902144433197

Navicate 连接

image-20210902144604114
image-20210902144604114

整体流程

image-20210902143510889
image-20210902143510889

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载镜像
  • 运行实例
  • 2059 问题解决方案
  • 1045 access denied
  • Navicate 连接
  • 整体流程
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com