美文网首页
Navicat连接mysql8

Navicat连接mysql8

作者: Chting | 来源:发表于2018-07-27 11:10 被阅读0次

    这几天尝试了下,看看mysql8的性能如何,使用的docker,下载了mysql8的镜像,现把安装和链接遇到的问题归纳如下

    Docer使用多个mysql

    由于我使用的docker作为开发工具,之前有使用mysql5.7的版本,现在增加容器,需要修改mysql端口

        mysql:
            build:
                context: ./mysql
                args:
                    - MYSQL_DATABASE=homestead
                    - MYSQL_USER=homestead
                    - MYSQL_PASSWORD=secret
                    - MYSQL_ROOT_PASSWORD=root
            volumes:
                - mysql:/var/lib/mysql8
            此处指定mysql新端口为3309##
            ports:
                - "3309:3306"
    

    运行之后,mysql容器正常起来了,但是navicat死活链接不上,没办法接着搞;

    修改mysql初始密码和host

    原来mysql8的安全机制更高可能,不允许初始化密码链接,所以首先要修改初始密码
    进入容器修改 docker-compose exec mysql bash

    image.png
    由于我已经修改过密码了,直接使用修改后的123456登录,第一次修改可以自己使用mysql或者是你设置的初始密码
    • 修改初始密码
    select host,user,plugin,authentication_string from mysql.user;
    
    image.png

    备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码所以直接修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    

    更新user为root,host为localhost 的密码为123456


    image.png

    修改完之后,再次链接,还是报错,,没办法继续搞

    • 修改host
      之前咱们已经看到host为localhost,可以大多数时候咱们并不一定是使用本地连接,所以修改你的mysqlhost为你的常用ip或者干脆点直接%
    update user set host = '%' where user = 'root';
    
    • 重启容器,再次链接


      image.png
    • 查看mysql版本

    mysql> select version(); 
    +-----------+
    | version() |
    +-----------+
    | 8.0.11    |
    +-----------+
    1 row in set
    
    mysql> 
    

    相关文章

      网友评论

          本文标题:Navicat连接mysql8

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