美文网首页
macOS 上用 docker 运行 Mysql57 用 nav

macOS 上用 docker 运行 Mysql57 用 nav

作者: ToddLee | 来源:发表于2019-10-03 22:38 被阅读0次

    大约以下几个步骤 :

    1. 安装 docker的 gui
    2. 申请阿里的 docker加速服务 https://cr.console.aliyun.com
    3. Mac 里配置preferences -> Registry Mirrors里增加自己申请的加速服务地址.
    4. 命令行就可以运行 docker search mysql 找到官方的,然后
    5. 拉下镜像 docker pull mysql:5.7.27
    6. 最关键的启动命令,我在自己的 home 下创建了 docker 的数据目录/Users/我的用户名/docker_home/mysql57,然后把下方的命令,存为 startMysql57.sh
    docker run -p 33060:3306 --name mysql57 \
     -v $PWD/conf:/etc/mysql/conf.d \
     -v $PWD/logs:/logs \
     -v $PWD/data:/var/lib/mysql \
     -e MYSQL_ROOT_PASSWORD=123456 \
     -d mysql:5.7.27
    

    上方命令解释:

    -p 端口映射, 本地33060 访问容器的 3306
    --name 起个名字
    -v 挂载各种目录, $PWD 是当前目录. 左边是本机,右侧是容器暴露的 volume
    -e 设置一些变量,此处改了默认密码
    -d 用那个镜像,我这边用了刚才 pull 下来那个.
    
    1. 给刚才的sh 增加运行权限, chmod +x startMysql57.sh
    2. 运行 ./startMysql57.sh,目录下就多了几个上方配置的文件夹了.

    顺利的话,此处可以直接 navicat 链接了.注意此处端口是33060

    如果是 windows ,上方步骤应该差不多.下方的注意下.

    遇到的坑:

    1. 阿里的那个入口貌似不怎么好找?
    2. 加速地址要更换下顺序,把自己的放到第一位,否则似乎还是很慢
    3. 如果 localhost 不能链接,不同平台会有不同的情况,尤其是 win 下,必须要找到虚拟机的 IP, 或者说 docker container 的 IP .docker 的 gui 看一眼有没有配置.
      如果是 win 下 , 可能要用 docker-machine 来查看 IP
      或者可能是 docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>
      来查看 IP,具体情况具体考虑.

    如果是通过以上方式,则需要进入 bash 设置 mysql root 的外部链接权限(MySQL 默认是 localhost 没问题,但是很显然这个地方不一定是 localhost)
    docker exec -it mysql57 bash 进入.
    数据库 use mysql 下 user 表:
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'

    1. 如果是 mysql8 遇到授权问题,参考
      https://blog.csdn.net/AFishhhhhh/article/details/80368927

    2. 如果使用 docker exec -it 的时候报错:

    OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"hash\": executable file not found in $PATH": unknown
    

    我也不知道为啥..然后 sudo再执行这条命令,然后就好了,不 sudo 也行.猜是路径问题, 普通用户无权限.sudo 创建后就正常了?

    相关文章

      网友评论

          本文标题:macOS 上用 docker 运行 Mysql57 用 nav

          本文链接:https://www.haomeiwen.com/subject/uecjpctx.html