在上一篇在Docker中体验数据库之Mongodb之后,这次记录一下在docker中安装mysql。过程要比Mongodb麻烦一点……

  参考网址:

  https://dev.mysql.com/doc/refman/5.7/en/linux-installation-docker.html

  https://hub.docker.com/r/mysql/mysql-server/

  安装过程如下:

、docker rm mysql1 -f        // 强制删除容器
、docker pull mysql/mysql-server
、docker images
、docker ps -a
、docker run --name mysql1 -p : -d mysql/mysql-server --default-authentication-plugin=mysql_native_password //注意最后的配置
、docker logs mysql1 >& | grep GENERATED //查看日志
、docker restart mysql1
、docker logs mysql1 >& | grep GENERATED //重启之后还是没有发现密码,说明密码为空
、docker exec -it mysql1 mysql -uroot -p
、show databases;
、ALTER USER 'root'@'localhost' IDENTIFIED BY '123qwe';
、select user,host from mysql.user;
// 远程访问docker中的mysql时,连接时会报错,1130
、UPDATE mysql.user SET host='%' WHERE user='root';
、docker restart mysql1
//此时终于连接成功!!!!
【例外】
//查看本机IP
、ip route show
2.1、sudo apt install net-tools
2.2、ifconfig 或者 route -n 或者 netstat -rn

  在贴一下,安装过程中报的错误:

--default-authentication-plugin=mysql_native_password

  在看一下这个配置,如果没有这个配置,连接数据库时会有如下错误:

  MySQL8.0 的密码加密规则变了,网上一搜2059一大堆……当然你也可以在创建容器的时候不添加这个配置,之后在数据库中修改也是一样的。

alter user 'root'@'%' identified with mysql_native_password by '123qwe';

  最后来一个连接成功的截图:

  最后在记录一个连接:如何查看linux(ubuntu)系统版本信息及CPU信息

  结束。

  【2019-12-11更新】

  一、更新笔记开始的参考网址

    msql官方:

    1、https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/linux-installation-docker.html

    2、https://dev.mysql.com/doc/refman/8.0/en/linux-installation-docker.html

    docker官方:

    1、https://hub.docker.com/_/mysql

    2、https://hub.docker.com/r/mysql/mysql-server

    注意:在dockerhub中搜索mysql,会搜索到很多结果,其中有两个或许是我们想要的:mysql和mysql/mysql-server……

在Docker中体验数据库之MySql的更多相关文章

  1. 在Docker中体验数据库之Microsoft SQL Server

    前面记录了一下在docker中体验mongodb和mysql.今天记录一下mssql……其实早就体验了,就是没有记录,前几天看了一下2019的一些新闻,很喜欢Polybase这个特性,想体验一把,可惜 ...

  2. 在Docker中体验数据库之Mongodb

    本文记录一下,在docker中安装Mongodb的过程. 环境:物理机 ubuntu18.04 因为环境变了,我在一台物理机上直接安装了ubuntu(非虚拟机和双系统),制作U盘镜像.安装参考:htt ...

  3. 【web开发】docker中的数据库

    注:自从开始使用docker,部署方面的事情就简单多了.使用docker构建的数据库容器不用直接安装,开启后就可以使用,也比以前方便很多.下面将一些要点记录下来. 下面的例子使用以下环境: - 系统( ...

  4. docker中的数据库

      注:自从开始使用docker,部署方面的事情就简单多了.使用docker构建的数据库容器不用直接安装,开启后就可以使用,也比以前方便很多.下面将一些要点记录下来. 下面的例子使用以下环境: - 系 ...

  5. docker中启动2个mysql实列

    一.mac环境安装docker容器 在docker官网中下载docker容器,地址:https://www.docker.com/products/docker-desktop 具体安装教程及设置网络 ...

  6. 【Spring Boot&&Spring Cloud系列】Spring Boot中使用数据库之MySql

    对于传统关系型数据库来说,Spring Boot使用JPA(Java Persistence API)资源库提供持久化的标准规范,即将Java的普通对象通过对象关系映射(ORM)持久化到数据库中. 项 ...

  7. docker中安装及使用mysql

    打算构造一个环境较全的linux环境,所以在本地弄了个docker.然后pull了一个centos的镜像,并打算在此镜像的基本上,构建适合自己的镜像.但在使用时,发现了各种问题,还是费了一些功夫.原因 ...

  8. docker 中,修改了 mysql 配置,如何重启 mysql?

    直接重新启动容器: docker restart containerID/containerName

  9. 在Docker中使用Microsoft SQL Server数据库

    下图中对SQL Server容器创建及数据库创建等操作进行了记录,方便自己日后查看.(文中的 * 仅表示隐藏自己的个人信息,手动马赛克,哈哈-) Docker下载可看上一篇博文mac系统,docker ...

随机推荐

  1. python接口自动化(十五)--参数关联接口(详解)

    简介 我们用自动化新建任务之后,要想接着对这个新建任务操作,那就需要用参数关联了,新建任务之后会有一个任务的Jenkins-Crumb,获取到这个Jenkins-Crumb,就可以通过传这个任务Jen ...

  2. bash语法

    国际惯例打印hello world   echo "hello world"   该程序运行结果: hello world 1.变量:   a=;b="hello wor ...

  3. Linux安装kubernetes

    使用KUBEADM安装KUBERNETES V1.14.0 一.环境准备      操作系统:Centos 7.5      一台或多台运⾏行行着下列列系统的机器器: ​ Ubuntu 16.04+ ...

  4. 为什么Eureca Client要分成服务提供者和服务消费者呢?

    [学习笔记]转载 6)为什么Eureca Client要分成服务提供者和服务消费者呢? 通 常来讲,服务提供方是重量的耗时的,所以可能在n台机器上.而服务消费方是轻量的,通过配置ribbon和@Loa ...

  5. Dynamics CRM中跨域调用Web API 2

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复224或者20160611可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  6. Andorid之页面布局优化

    文章大纲 一.为什么要进行页面布局优化二.页面布局优化实操三.项目源码下载四.参考文章 一.为什么要进行页面布局优化   在开发Android时,会遇到某些是通用的布局,我们常将一些通用的视图提取到一 ...

  7. Android 程序结构

    Android程序在创建的时,Android studio就为其构建了基本结构,设计者可在此结构上开发应用程序, manifests :用于存放AndroidManifest.xml文件(又称清单文件 ...

  8. sqlserver2012 在视图中建索引

      第一种 如果已经有视图但是要加索引只需要执行 以下SQL就好(前提是此视图必须                    绑定到架构) CREATE UNIQUE CLUSTERED INDEX in ...

  9. 第八周LINUX学习笔记

    vsftpd丶NFS丶SAMBA nfs基于rpcsamba基于cifs(smb)  DRBD: ftp:File Transfer protocol 文件传输协议 两个连接:       tcp:命 ...

  10. vue 基础知识

    1. v-if 的使用: 假如后端传过来的数据,1 表示 “已完成”, 0表示 “未完成”, 那么如何根据 1.0显示出对应的表示信息呢? <p><span v-if="d ...