从仓库下载镜像
sudo docker pull mysql:5.7
 
创建容器
docker run --name="mysql" \
-p 3306:3306 \
-v /Users/zhangsan/docker/mysql/data:/var/lib/mysql \
-v /Users/zhangsan/docker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
备注:
--name="mysql" 给容器取名mysql -p 3306:3306 将容器内端口3306映射到宿主机端口3306上,前宿主机:后容器 -v /Users/zhangsan/docker/mysql/data:/var/lib/mysql 将宿主机目录/Users/zhangsan/docker/mysql/data挂载到容器目录/var/lib/mysql,将数据保存到宿主机目录方便查看。/var/lib/mysql容器目录为mysql默认的数据存储目录。 -d 后台运行容器,并返回容器ID -v /Users/zhangsan/docker/mysql/conf.d:/etc/mysql/conf.d 如果需要自定义的参数,可以新建一个config-file.cnf文件,将参数配置到里面放到宿主机某一个目录,并将该目录挂载到容器的/etc/msyql/conf.d目录中,mysql启动的时候回读取覆盖默认配置 -e MYSQL_ROOT_PASSWORD=123456 设置root密码 -d 后台运行容器,并返回容器ID
 
备份数据
docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > ~/docker/mysql/backup/all-databases.sql

备注:
~/docker/mysql/backup/all-databases.sql 这个是宿主机的全路径
 
进入mysql容器内
docker exec -it mysql bash

备注:
通过该命令,命令行就会进入容器内部系统,后面就可以像操作普通linux系统一样操作容器系统了
 
通过上述镜像可以链接其他mysql服务
docker run -it --rm mysql mysql -h'192.168.0.10' -P 10050 -u'root' -p'123456'
 
关于msyql8.0.4以上密码加密方式改变
default-authentication-plugin 的值由 mysql_native_password 变为了caching_sha2_password

新的加密方式原来的Navicat客户端连接不上,可通过修改用户密码为老的加密方式,或者将加密方式改为老的加密方式
1、修改用户密码,新建用户的时候也是用老的加密方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
CREATE USER test IDENTIFIED WITH mysql_native_password BY '123456'; 2、修改加密方式,在配置文件中覆盖配置项
default-authentication-plugin=mysql_native_password
查看mysql所有的可配置项及其默认值
docker run -it --rm mysql --verbose --help
 
 
 

Docker部署MySQL容器的更多相关文章

  1. docker 部署mysql tomcat时 在root@localhost~下——-——docker exec -it 容器名 /bin/bash 报错

    在docker部署mysql时 报错 找不到 容器不自动启动  , docker start 容器名  也没有效果 多次尝试发现 原因是创建容器时在 下面创建的 更改为下创建 问题解决

  2. Docker 部署mysql

    目录 Docker 部署mysql 步骤 1.查找 Docker Hub 上的 MySQL 镜像 2.docker pull mysql 拉取镜像 3.运行容器 4.查看容器启动情况 使用命令备注 D ...

  3. docker(部署常见应用):docker部署mysql

    上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ...

  4. docker部署mysql Navicat远程连接

    docker部署mysql Navicat远程连接 docker search mysql   查看mysql镜像(是去dockerHub网站搜素镜像,遇到问题可以去该网站查看官方文档,纯英文文档估计 ...

  5. Docker:Docker部署mysql数据库

    docker部署mysql : 8.0 1.在宿主机创建mysql挂载目录 #创建目录 mkdir /home/mysql/conf mkdir /home/mysql/logs mkdir /hom ...

  6. springboot多数据源配合docker部署mysql主从实现读写分离

    本篇主要有两部分: 1.使用docker部署mysql主从 实现主从复制 2.springboot项目多数据源配置,实现读写分离 一.使用docker部署mysql主从 实现主从复制 此次使用的是wi ...

  7. Docker部署mysql 5.7

    Docker部署mysql 5.7 准备工作 在CentOS或者Linux创建部署目录,用于存放容器的配置和MySQL数据:目的是当重装或者升级容器时,配置文件和数据不会丢失.执行以下命令: a.创建 ...

  8. Centos7借助docker部署mysql,提供远程链接服务

    Centos7 借助docker部署mysql,并提供远程连接服务 安装docker 运行docker 注意安装docker和运行docker的步骤很简单,可以参考我学习docker的笔记 docke ...

  9. docker部署mysql

    1. 下载 [root@localhost my.Shells]# ./dockerStart.sh start or stop start Redirecting to /bin/systemctl ...

随机推荐

  1. 手动安装gradle

    在学习andorid studio时发现编译超级无比的慢,网上有文说是因为gradle的原因,使用离线gradle可以大幅提高编译速度,准备尝试下看看如何.由于gradle的资料都是英文,而我又是英文 ...

  2. 【接口】常见接口集合(返回JSON)

    转<JSON校验网站…>http://www.bejson.com/go.html?u=http://www.bejson.com/webInterface.html 这里为大家搜集了一些 ...

  3. zookeeper环境搭建.md

    zookeeper 简介 ZooKeeper是一个为分布式应用所设计的分布的.开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布 ...

  4. 洛谷 P1073 最优贸易

    题目描述 CC C 国有 n n n 个大城市和 m mm 条道路,每条道路连接这 nnn 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 mmm 条道路中有一部分为单向通行的道路 ...

  5. Django 连接Mysql异常处理

    启动manage.py提示 连接数据库异常 django.db.utils.OperationalError: (2003, "Can't connect to MySQL server o ...

  6. 浅谈IC行业产业链以及贸易商在产业链中的作用  2008-10-16 12:45[转自Michael的博客]

    随着集成电路行业在中国的迅猛发展, 中国的低成本劳动力和开放的引入外资政策, 使得全球电子产品生产厂商为了降低成本, 增加产品市场竞争力, 纷纷在中国设立生产线, 而中国不断膨胀的购买力也促进了这一产 ...

  7. Netflix中的负载均衡策略

    Spring Cloud的负载均衡策略可以通过配置Ribbon搞定,也就是注入实现com.netflix.loadbalancer.IRule的类,当前包含的策略包括 1.RandomRule 随机策 ...

  8. dataTable配置项说明

    Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 官网地址:https://datatables.net/ 中文说明地址:http:/ ...

  9. [笔记] FMX 移动平台 TWebBrowser 问题

    FMX 移动平台下的 TWebBrowser 有一问题: 某些机子当 WebBrowser.Visible := False; 后,依然留在全屏,虽然看不见,但无法点击操作. 解决:用 WebBrow ...

  10. uip.h 笔记

    想了解uip,可以从uip.h开始,他对主体函数有详细的说明,和案例 初始化 1 设定IP网络设定 2 初始化uip 3 处理接收包 4 ARP包处理 5 周期处理,tcp协议处理 uip_proce ...