博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker 安装mysql以及外部访问
阅读量:4982 次
发布时间:2019-06-12

本文共 936 字,大约阅读时间需要 3 分钟。

(1)因为我们的镜像是linux环境下的,我所在的系统是windows系统.首先通过docker客户端切换到linux环境下.

(2)使用docker pull mysql/mysql-server 下载mysql镜像;

(3)使用下载的镜像启动一个新的容器:docker run -d -p 3306:3306 --name mysqltest mysql/mysql-server.

本地端口3306映射到容器中的3306端口,容器名称为mysqltest。

(4)镜像成功启动:

(5)登录到容器内部的mysql:

    1.docker exec -it mysqltest bash;

    2.mysql -uroot -p;

    3.输入密码,登录成功可以进行操作了.(这个密码我们在创建容器的时候没有指定,但是随机帮我们生成了一个。可以通过docker logs mysqltest来查看.)

    

(6)如果我们想尝试在容器外部用Navicat Premium连接到容器中的mysql.会出现如下错误。这是正确的。这时候我们并没有把容器中的环境设置权限供外部访问.

(7)设置容器外部访问数据库权限:

    1.我们不影响以前的用户,所以我们单独创建用户并赋权,分别执行以下命令: 

     但首先得先更改root密码(alter user 'root'@'localhost' identified by 'pwd123456';),否则会提示必须重设密码.

     use mysql后执行以下命令

create user 'danielyu'@'%' IDENTIFIED BY 'pwd123456';grant all privileges on *.* to 'danielyu'@'%'with grant option;

    2.这时候我们再尝试在容器外连接数据库.出现如下错误.这是因为我使用的数据库版本是8.0.17.

    现在验证方式是caching_sha2_password作为身份验证插件(相关链接:).我们改回 mysql_native_password

    

     

    (3)连接成功:

     

 

     

转载于:https://www.cnblogs.com/cby-love/p/11260850.html

你可能感兴趣的文章
Python 查找binlog文件
查看>>
Git——如何将本地项目提交至远程仓库
查看>>
Convert CString to std::string
查看>>
3 - Selenium元素定位和操作
查看>>
GCC C语言 DLL范例,含源码
查看>>
冲刺第一天(补发)
查看>>
iOS开发Xcode中切换显示语言实现国际化
查看>>
C++模板学习
查看>>
nginx
查看>>
大数据平台搭建-hadoop集群的搭建
查看>>
安装一些包管理的记录 win10
查看>>
Android RecyclerView notifyDataSetChanged不起作用
查看>>
AndroidStudio3.0 Canary 8注解报错Annotation processors must be explicitly declared now.
查看>>
Android 一个改进的okHttp封装库
查看>>
genymotion下载出现Unable to create virtual device,Server returned HTTP status code 0.
查看>>
Android 下拉刷新框架实现
查看>>
ViewPager + Fragment实现滑动标签页
查看>>
Spring与Hibernate实现增删改查两方法
查看>>
Genymotion 插件在 Eclipse 和 Android Studio 中点击后无法初始化 Initialize Engine: failed 解决方法...
查看>>
1R安装环境
查看>>