zoukankan      html  css  js  c++  java
  • Docker 安装mysql以及外部访问

    (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作为身份验证插件(相关链接:https://blog.51cto.com/fengfeng688/2147169?source=dra).我们改回 mysql_native_password

        

         

        (3)连接成功:

         

         

  • 相关阅读:
    97.5%准确率的深度学习中文分词(字嵌入+Bi-LSTM+CRF)
    TensorFlow教程——Bi-LSTM+CRF进行序列标注(代码浅析)
    对Attention is all you need 的理解
    SpringBoot入门最详细教程
    TensorFlow saved_model 模块
    hadoop无法启动
    信号
    rpcserver不可用
    4444: [Scoi2015]国旗计划|贪心|倍增
    最小公倍数 SRM 661 Div1 250: MissingLCM
  • 原文地址:https://www.cnblogs.com/cby-love/p/11260850.html
Copyright © 2011-2022 走看看