docker  pull  mysql

一、错误的启动

[root@localhost  ~]#  docker  run  ‐‐name  mysql01  ‐d  mysql

42f09819908bb72dd99ae19e792e0a5d03c48638421fa64cce5f8ba0f40f5846

mysql退出了

[root@localhost  ~]#  docker  ps  ‐a

CONTAINER  ID  IMAGE  COMMAND  CREATED  STATUS  PORTS  NAMES

二、正确的启动

做了端口映射

三、几个其他的高级操作

四、补充

【tips】docker安装MySQL5.7ERROR 1045 (28000): Access denied for user解决办法

Docker安装mysql5.7报错 ERROR 1045 (28000): Access denied for user

进入mysql报错:1045(28000), 原因:mysql5.7 首次安装后,需要修改root的默认密码才能使用。

为了解决这个问题,来来回回试了很多遍,这里就不说过程了,下面记录下目前看正确的处理步骤:

docker安装Mysql

1 docker拉取mysql版本:

docker pull mysql:5.7.23

2 创建挂载目录:

mkdir /usr/local/mysql

用于挂载mysql数据文件

mkdir /usr/local/mysql/data

用于挂载mysql配置文件

mkdir /usr/local/mysql/conf.d

3 启动容器

命令:

docker run --name mysql5.7 -p 3306:3306 -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=rootroot -d mysql:5.7.23

注意: -e MYSQL_ROOT_PASSWORD 这里==敲错了==,后面就是为了解决不知道root密码情况下怎么处理。

处理mysql 1045报错

1 在 /usr/local/mysql/conf.d目录下增加文件: my.cnf

文件内容为:

[mysqld]
skip-grant-tables

2 重启mysql:

docker restart mysql5.7

3进入docker的bash:

docker exec -it mysql5.7 bash

4登录mysql:

mysql -uroot -p

5设置root密码为空,注意root密码是加密的,设置其它值不好找到对应的明文。

use mysql;

select user,authentication_string,host from user;

//更新为空

update user set authentication_string='' where user='root';

flush privileges;

6 退出mysql,把第一步的skip-grant-tables注释。再重启mysql

7 使用 root用户,密码 回车键登录;

8 修改root密码:

alter user 'root'@'localhost' IDENTIFIED BY 'rootroot';

alter user 'root'@'%' IDENTIFIED BY 'rootroot';

flush privileges;

修改root密码完成。

9 可附加一步授权:

GRANT all ON . TO 'root'@'%' IDENTIFIED BY 'rootroot' ;

flush privileges;

【注意】

8的两个alter其中第二个alter报错,正常

9的授权改为grant all on *.* to root@'%' identified by  'rootroot'  with grant option;

终于好了...

docker安装MySQL5.7示例!!坑的更多相关文章

  1. Docker 安装MySQL5.7(三)

    Docker 安装MySQL5.7 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mysql 2.拉取docker的mysql镜像 ...

  2. docker安装mysql5.7 数据挂载

    docker安装mysql5.7,并数据卷挂载到主机 # docker 中下载 mysql docker pull mysql:5.7 #启动 docker run --name mysql3306 ...

  3. docker安装mysql5.6和redis3.2

    环境:centos 6.8, docker version 1.7.1 1.docker安装mysql5.6 第一步:拉取镜像 docker pull mysql:5.6 第二步:docker run ...

  4. CentOS7利用docker安装MySQL5.7

    CentOS7利用docker安装MySQL5.7 前提条件 centos7 且内核版本高于3.10, 可通过以下命令查看内核版本 uname -r 利用yum 安装docker 安装一些必要的系统工 ...

  5. Docker安装mysql5.7并且配置主从复制

    Docker安装mysql5.7并且配置主从复制 一.拉取mysql镜像 二.创建文件docker.cnf 2.1 mysql主机(192.168.21.55:3307) 2.1.1 创建文件夹 2. ...

  6. centos7用docker安装mysql5.7.24后配置主从

    1)使用docker安装完成mysql5.7.24,我规划的是3台: 192.168.0.170(Master) 192.168.0.169(Slave) 192.168.0.168(Slave) 2 ...

  7. docker安装mysql5.6镜像并进行主从配置

    docker安装mysql镜像并进行主从配置 1.去DaoCloud官网(dockerhub可能因为网速问题下载的慢)查找需要的mysql版本镜像 docker pull daocloud.io/li ...

  8. Docker安装flink及避坑指南

    Docker安装flink 导航 无处不在的大数据 安装flink 拉取flink镜像 编写docker-compose.yml 生成启动 查看安装效果 常见坑及解决方案 问题1 问题2 参考   本 ...

  9. centos7 docker 安装 mysql5.7.24 导入12G的sql

    先在CentOS7里面安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker .通过 uname - ...

随机推荐

  1. JRE、JDK、JVM 及 JIT 之间有什么不同

    java虚拟机(JVM)     使用java编程语言的主要优势就是平台的独立性.你曾经想知道过java怎么实现平台的独立性吗?对,就是虚拟机,它抽象化了硬件设备,开发者和他们的程序的得以操作系统.虚 ...

  2. KVM 记录

    mkdir -p /home/hugepagesmount -t hugetlbfs hugetlbfs /home/hugepages 配置文件 vim /etc/libvirt/qemu.conf ...

  3. leetcode-mid-math - 69. Sqrt(x)-NO

    mycode   memory error class Solution(object): def mySqrt(self, x): """ :type x: int : ...

  4. MySQL技术内幕 InnoDB存储引擎 之 InnoDB体系架构

    后台线程 1.Master Thread 2.IO Thread 3.Purge Thread 4.Page Cleaner Thread  内存 重做日志在以下三种情况下将重做日志缓存中的内容刷新到 ...

  5. __file__, sys._getframe().f_lineno 当前文件的行号

    当前文件的行号 try: f = open(sys.argv[1], "rb") address_book.ParseFromString(f.read()) f.close()e ...

  6. robotframework(rf)中对时间操作的datetime库常用关键字

    1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3.对时间格式转化,获取时间戳. 4.从完整时间中取指定年月日等 5.对时间类型进行格式化 6.获取当前时间或者指定时区 ...

  7. django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.的解决办法

    如题,这个错误的解决办法如下: 在代码文件的最上方添加以下代码: import os,django os.environ.setdefault("DJANGO_SETTINGS_MODULE ...

  8. cannot assign to struct field xxx in map

    golang 中对 map 类型中的 struct 赋值报错 type s struct{ name string age int}func main(){ a := map[string]s{ &q ...

  9. Gradle之Android Gradle Plugin 主要流程分析(二)

    [Android 修炼手册]Gradle 篇 -- Android Gradle Plugin 主要流程分析 预备知识 理解 gradle 的基本开发 了解 gradle task 和 plugin ...

  10. python调用java所有代码都要放在jvm开启的时候调用,否则报错: No matching overloads found for in find. at native\common\jp_method.cpp:127

    1.解决方法 开启java虚拟机 jvm 或者先执行结束在关闭java虚拟机jvm