zoukankan      html  css  js  c++  java
  • macOS下通过docker在局域网成功访问mysql5.6数据库

     

    1.获取mysql镜像

    docker pull mysql:5.6

    注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错,

    2.查看镜像列表

    docker images

    3.启动mysql镜像

    docker run -itd -P mysql:5.6 bash

    其中 docker run是启动容器的命令;i是交互式操作,t是一个终端,d指的是在后台运行,

    -P指在本地生成一个随机端口,用来映射mysql的3306端口,mysql指运行mysql镜像,bash指创建一个交互式shell。

    4.查看已经运行的docker镜像

    docker ps -a

    从图中可以看到mysql镜像的3306端口绑定了本地的32769端口,因此就说如果你要在局域网中访问docker中的mysql数据库就需要使用服务器IP:32769来进行访问。

    5.连接到mysql镜像中

    docker exec -it relaxed_hodgkin bash

    docker exec 是docker镜像的连接命令,类似于ssh一样的命令,relaxed_hodgkin是镜像的名字,镜像每次启动都必须有一个名字,该名字可以手动指定也可以自己生成。

    连接成功以后,如下图,已经进入到了docker mysql镜像中

     

    6.查看mysql的启动状态,如上图就显示mysql没启动

    service mysql status

    7.mysql没有启动可以使用以下命令启动,如图所示启动成功

    service mysql start

    8.输入mysql 验证mysql是否启动成功

    到此为止,docker中的mysql已经启动成功。

     9.如何在外部使用root连接这个mysql?   为了安全,首先需要设置root帐号的密码,如下

    update user set authentication_string = password('root') where user = 'root';

    这时会报以下错误

    是因为没有选择数据库,要在上面的命令之前执行下面这句,就可以将root的密码改为root。 

    use mysql;

    10.由于mysql中root执行绑定在了localhost,因此需要对root进行授权

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

    11.最后,使用SQLyog测试mysql连接,如下

    连接成功,说明docker中的mysql可以在局域网中使用。

  • 相关阅读:
    Git上传文件不能超过100M的解决办法
    微信小程序 转发 分享功能(二)
    微信小程序 转发 分享功能(一)
    github上分支的合并
    微信小程序公告滚动通知
    django-blog:多对多查询
    正弦型函数的给出方式
    人教版|反三角函数
    在线|北京人大附中高一试题
    争鸣|深层次理解几何概型的概念和求解
  • 原文地址:https://www.cnblogs.com/it-tsz/p/8973747.html
Copyright © 2011-2022 走看看