docker下安装mysql

一,查看mysql镜像源

root@xushi:~# docker search mysql
NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                                                  MySQL is a widely used, open-source relati...   5757      [OK]       
mariadb                                                MariaDB is a community-developed fork of M...   1846      [OK]       
mysql/mysql-server                                     Optimized MySQL Server Docker images. Crea...   397                  [OK]
zabbix/zabbix-server-mysql                             Zabbix Server with MySQL database support       92                   [OK]
hypriot/rpi-mysql                                      RPi-compatible Docker Image with Mysql          79                   
centurylink/mysql                                      Image containing mysql. Optimized to be li...   59                   [OK]
zabbix/zabbix-web-nginx-mysql                          Zabbix frontend based on Nginx web-server ...   48                   [OK]
tutum/mysql                                            Base docker image to run a MySQL database ...   31                   
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5   ubuntu-16-nginx-php-phpmyadmin-mysql-5          29                   [OK]
centos/mysql-57-centos7                                MySQL 5.7 SQL database server                   23                   
mysql/mysql-cluster                                    Experimental MySQL Cluster Docker images. ...   19                   
schickling/mysql-backup-s3                             Backup MySQL to S3 (supports periodic back...   16                   [OK]
linuxserver/mysql                                      A Mysql container, brought to you by Linux...   14                   
bitnami/mysql                                          Bitnami MySQL Docker Image                      13                   [OK]
zabbix/zabbix-proxy-mysql                              Zabbix proxy with MySQL database support        12                   [OK]
centos/mysql-56-centos7                                MySQL 5.6 SQL database server                   8                    
openshift/mysql-55-centos7                             DEPRECATED: A Centos7 based MySQL v5.5 ima...   6                    
circleci/mysql                                         MySQL is a widely used, open-source relati...   4                    
dsteinkopf/backup-all-mysql                            backup all DBs in a mysql server                3                    [OK]
frodenas/mysql                                         A Docker Image for MySQL                        2                    [OK]
openzipkin/zipkin-mysql                                Mirror of https://quay.io/repository/openz...   0                    
ansibleplaybookbundle/mysql-apb                        An APB which deploys RHSCL MySQL                0                    [OK]
cloudfoundry/cf-mysql-ci                               Image used in CI of cf-mysql-release            0                    
cloudposse/mysql                                       Improved `mysql` service with support for ...   0                    [OK]
astronomerio/mysql-sink                                MySQL sink                                      0                    [OK]

 

二,下载mysql镜像

root@xushi:~# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
2a72cbf407d6: Pull complete 
38680a9b47a8: Pull complete 
4c732aa0eb1b: Pull complete 
c5317a34eddd: Pull complete 
f92be680366c: Pull complete 
e8ecd8bec5ab: Pull complete 
2a650284a6a8: Pull complete 
5b5108d08c6d: Pull complete 
beaff1261757: Pull complete 
c1a55c6375b5: Pull complete 
8181cde51c65: Pull complete 
Digest: sha256:691c55aabb3c4e3b89b953dd2f022f7ea845e5443954767d321d5f5fa394e28c
Status: Downloaded newer image for mysql:latest

查看下载的image

root@xushi:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               latest              5195076672a7        11 days ago         371 MB

三,docker启动mysql

root@xushi:~# docker run -p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v ~/docker/mysql/conf.d/:/etc/mysql/conf.d/ \
-v ~/docker/mysql/data/:/var/lib/mysql \
--name mysql3307 -d 5195076672a7

435efc72d00f39421dca6011dc96aa6e780c0dbdcb4c9e3f2aac985eaadeb35b

说明

编号 参数 说明
1 -p 3307:3306 将容器的3306端口映射到主机的3307端口
2 -v$PWD/root/docker/mysql:/var/lib/mysql

将主机当前目录下的/root/docker/mysql挂载到容器的/var/lib/mysql;

$PWD表示当前目录

3 -e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
4 --name 给容器命名,mysql3307
5 -d 5195076672a7 刚才下载的mysql的imageID,也就是我们所说的镜像ID,通过docker images命令查看

通过docker ps查看

root@xushi:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
435efc72d00f        5195076672a7        "docker-entrypoint..."   8 minutes ago       Up 8 minutes        0.0.0.0:3307->3306/tcp   mysql3307

四,进入docker的mysql容器

root@xushi:~# docker exec -it mysql3307 bash
root@435efc72d00f:/# mysql -u root -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| netsharp           |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> 
编号 命令及参数 说明
1 docker exec 进入容器
2 -t 让docker分配一个伪终端,并绑定到容器的标准输入上
3 -i 让容器的标准输入保持打开;
4 mysql3307 是容器的名字

 exit退出docker的伪终端

五,mysqlworkbench访问mysql数据库

 

 

 

说明:

1.docker默认使用官方源,特别慢,这篇文章介绍如何使用阿里的镜像,特别快,https://www.cnblogs.com/hutuchong/p/7748429.html

2.mysql的这个镜像,客户端工具链接会报错误:Unable to load authentication plugin 'caching_sha2_password'

   原因:mysql8之前的版本使用的密码加密规则是mysql_native_password,但是在mysql8则是caching_sha2_password,所以需要修改密码加密规则

alter user 'root' @'%' identified with mysql_native_password by 'admin';
alter user 'root'@'%' IDENTIFIED BY '123456'; 
flush privileges;

3.没有vim而且下载又很慢,如下方式解决

    mv /etc/apt/sources.list /etc/apt/sources.list.bak
    echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
    echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
    echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
    echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

    #安装更新源
    apt-get update 

 4.还可以参考下面这篇阿里云相关的文章

5. dbeaver中包无法加载jdbc驱动问题:https://blog.csdn.net/dongwuming/article/details/122859390

6.error:Public Key Retrieval is not allowed

url参数添加allowPublicKeyRetrieval=true
详细参见:https://blog.csdn.net/weixin_46544376/article/details/122794243

posted on 2018-03-25 18:50  Netsharp  阅读(296)  评论(0编辑  收藏  举报

导航