zoukankan      html  css  js  c++  java
  • mysql8.0.13 的docker镜像安装

    1、从docker中获取mysql8.0.13镜像

    docker pull mysql:8.0.13
    通过 docker images 命令查看镜像是否获取到了

    2、运行 mysql8.0.13 镜像

    docker run --name mysql8013 -p 8323:3306  -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.13 
    通过 docker ps 命令查看镜像是否启动成功

    3、登陆mysql

    mysql -uroot -proot -D mysql8013
    发现登陆不上去,因为mysql8之后root用户的密码验证方式变了。root的用户的加密方式为caching_sha2_passoword,而navicat连接所用的方式为native_password。

    4、解决方法:进入mysql8.0.13容器

    docker exec -it mysql8013 /bin/bash
    

    5、在容器里面登陆数据库

    mysql -uroot -proot

    mysql为远程连接和本地连接提供了不同的密码验证方式。所以在容器里可以登陆。

    6、进入mysql库,查看user表,可以看到root加密方式

    use mysql;
    select host, user, plugin from user G
    

    7、修改root用户插件验证方式:

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
    

    8、刷新权限

    flush privileges;
    

    9、然后退出mysql

    exit;
    

    10、给mysql8013安装vim编辑器

    apt-get update && apt-get install vim -y

    11、安装vim完成后,修改数据库编码

    进入mysql.cnf
    vim /etc/mysql/conf.d/mysql.cnf
    
    增加以下内容,然后保存退出      
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    

    12、查看mysql编码

     show variables like'character%';    -- 如果编码没变,可能要重启这个mysql容器
    

    13、退出 mysql8013容器

    Ctrl+D
    

    14、查看mysql8013数据卷挂载位置:

    docker inspect  mysql8013
    然后观察  "Mounts"对应的值,其中 "Source" 对应的值就是本机的挂载路径。

    15、通过 navicat 测试连接。

      

      

    努力做一名出色的技术人!
  • 相关阅读:
    QT5.4 vs2013静态加载插件的sqlite静态编译
    四个漂亮的CSS样式表
    程序猿写的程序将如何打包成安装包(最简单)
    cocos2d的-X- luaproject的LUA脚本加密
    【【分享】深入浅出WPF全系列教程及源码 】
    C#的StringBuilder 以及string字符串拼接的效率对照
    【Android中Broadcast Receiver组件具体解释 】
    【蜗牛—漫漫IT路之大学篇(九) 】
    【分布式存储系统sheepdog 】
    C#异步调用
  • 原文地址:https://www.cnblogs.com/shenqidu/p/10414803.html
Copyright © 2011-2022 走看看