docker 安装MySQL远程连接

Posted @jason

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 安装MySQL远程连接相关的知识,希望对你有一定的参考价值。

1. 下载mysql的Docker镜像:

  1. $ docker search mysql (搜索mysql镜像)  
  2. $ docker pull mysql (下载mysql镜像,默认最新版本)  

2. 运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306。测试过程没有挂载本地数据盘:

  1. $ docker run -it --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql  

3. 查看已运行的容器:

  1. $ docker ps -a  
  2. CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES  
  3. a42f31094df5        mysql               "docker-entrypoint.s…"   7 seconds ago       Up 6 seconds        0.0.0.0:3306->3306/tcp   mysql  

4. 进入mysql容器:

  1. docker exec -it mysql bash  
  2. [email protected]:/#   

5. 在容器内登陆Mysql:

  1. [email protected]:/# mysql -uroot -p123456 或 (mysql -uroot -p ) 
  2. mysql: [Warning] Using a password on the command line interface can be insecure.  
  3. Welcome to the MySQL monitor.  Commands end with ; or g.  
  4. Your MySQL connection id is 9  
  5. Server version: 8.0.11 MySQL Community Server - GPL  
  6.   
  7. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.  
  8.   
  9. Oracle is a registered trademark of Oracle Corporation and/or its  
  10. affiliates. Other names may be trademarks of their respective  
  11. owners.  
  12.   
  13. Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.  
  14.   
  15. mysql>   

6. 查看用户信息

  1. mysql> select host,user,plugin,authentication_string from mysql.user;    
  2. +-----------+------------------+-----------------------+------------------------------------------------------------------------+  
  3. | host      | user             | plugin                | authentication_string                                                  |  
  4. +-----------+------------------+-----------------------+------------------------------------------------------------------------+  
  5. | %         | root             | caching_sha2_password | $A$005$^]RQB}j~t!      .#v)3.UogPRFu8VJA5/GKEbK5edEQlMT5sHw2n72zYJNlIbo3 |  
  6. | localhost | mysql.infoschema | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE                              |  
  7. | localhost | mysql.session    | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE                              |  
  8. | localhost | mysql.sys        | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE                              |  
  9. | localhost | root             | caching_sha2_password | $A$005$Y6&q!59^Fmh)@-6TG58J3F5+3I/HI9L|JCadNG+-+d6W+1D_UFW+7MRD7F3 |  
  10. +-----------+------------------+-----------------------+------------------------------------------------------------------------+  

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

navicat链接错误;我们继续往下看;

技术分享图片

 

 
  1. mysql> ALTER user ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘;  
  2. Query OK, 0 rows affected (0.01 sec)  
  3. mysql>   
  4. mysql> FLUSH PRIVILEGES;  
  5. Query OK, 0 rows affected (0.01 sec)  
  6.   
  7. mysql>   

7..连接数据库的

 

技术分享图片

 

 

连接成功了。

以上是关于docker 安装MySQL远程连接的主要内容,如果未能解决你的问题,请参考以下文章

docker部署mysql远程连接 解决1251 client does not support ..

mysql服务设置远程连接 解决1251 client does not support ..问题

Docker安装frp实现远程桌面连接

docker部署mysql 实现远程连接

远程连接Docker上的Mysql失败的解决方案

虚拟机中docker安装mysql远程无法访问解决方法