docker版mysql的使用和配置(1)——docker的基本操作

最近实在是忙成狗,其他的内容等稍微闲一点了一起更新。

这篇主要是讲docker版的mysql的使用和配置信息。因为实习公司需要搞一个docker做测试环境用,还需要包括基本的依赖。最重要的是,因为这个docker是作为jenkins的slave使用的,所以有可能不能在启动的时候加参数。这就导致我得把docker版的mysql的整个使用和配置详细过一遍,看看是否有代替启动参数的设置方法。

文中涉及到的mysql的基本信息见以下链接:

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

https://github.com/mysql/mysql-docker

文章省略了docker的安装。到官网安一下就好了。

那么林可死大特。

1. 常规的基本docker版mysql的使用(docker的基本操作):

下载(community版):

docker pull mysql/mysql-server:tag

这里的tag是指mysql的版本号,比如5.5~5.7,8.0,latest。

docker images

这个是用来查看当前的镜像的清单。

docker run --name=mysql1 -d mysql/mysql-server:tag

接下来就是运行镜像,一个最基本的运行语句大概长这个样子。

--name制定了运行该镜像的容器(container)的名称。如果不声明的话会随机生成一个。

接着是镜像的名字。

-d是指明镜像的运行是扔在后台的。

docker ps

可以用这个语句来查看当前的image的运行情况。

整个流程简单来说,就是:pull镜像,run镜像,ps看看镜像是不是起来了。

docker logs mysql1

logs加上容器的名称,可以看这个容器在运行镜像时产生的日志信息。如果ps看到了镜像没有正常运行,就可以logs检查一下。

docker exec -it mysql1 mysql -uroot -p

exec就是在镜像中执行后面的操作,比如上面就是执行了mysql -uroot -p。

docker exec -it mysql1 bash 

为了方便在镜像中执行bash命令,也可以执行这样的命令来开一个bash。

docker stop mysql1

这样可以停止container的运行。想删除container首先要停止container。想删除image首先要删除container。总之是一环扣一环的。

2. docker版mysql和普通版mysql的区别

Docker images for MySQL are optimized for code size, which means they only include crucial components that are expected to be relevant for the majority of users who run MySQL instances in Docker containers.

按官网的说法,docker版的mysql只包含了必要的部分。清单如下:

/usr/bin/my_print_defaults

/usr/bin/mysql

/usr/bin/mysql_config

/usr/bin/mysql_install_db

/usr/bin/mysql_tzinfo_to_sql

/usr/bin/mysql_upgrade

/usr/bin/mysqladmin

/usr/bin/mysqlcheck

/usr/bin/mysqldump

/usr/bin/mysqlpump

/usr/sbin/mysqld

3. docker版mysql的使用

前面提到了查看log的方法。docker版mysql的默认配置是:第一次的root密码是随机生成的。所以想用root账户登陆,首先要查看随机生成的密码。

shell> docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

然后就可以-uroot -p登录了。

登录之后的第一件事,就是改root密码。

mysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘;

其他的就跟本地运行mysql差不多了。

注意的一点是,我们刚刚run docker的命令中,并没有把docker中的端口和本机的端口进行映射。所以虽然mysql虽然启动了,但是不能通过3306或者其他端口进行访问。

想跟在本机一样的话,就要在启动docker容器的时候对docker和本机的端口进行映射。

docker run -p ip:hostPort:containerPort

原文地址:https://www.cnblogs.com/wangzhao765/p/9533003.html

时间: 2024-10-08 10:47:37

docker版mysql的使用和配置(1)——docker的基本操作的相关文章

docker版mysql的使用和配置(2)——docker版mysql的dockerfile

既然目标是定制满足自己需要的dockerfile,那么就来看看mysql的dockerfile长什么样. dockerfile选择的是 https://github.com/mysql/mysql-docker/blob/mysql-server/5.7/Dockerfile 原因是这个比较短(捂脸) 关于dockerfile中的各种命令,可以查看官方文档,或者参考这篇: https://www.cnblogs.com/jie-fang/p/7927643.html 1 # Copyright

Docker Mysql主主同步配置搭建Demo

主主同步配置和主从配置很相似,仅需稍做修改就可以了,对主从配置有疑问可以查看 上一篇文章. 进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql    --mone       --data        --conf          --my.cnf        --mtwo       --data        --conf          --my.cnf  1.主主配置文件 Mone: my.cnf [mysqld] ser

(转载)绿色版Mysql的安装配置

本文出自于:http://johnnyhg.javaeye.com/blog/245544 一.下载MySQL http://www.mysql.org/downloads 我下载的是mysql-noinstall-5.0.67-win32.zip 二.安装过程 1.解压缩 mysql-noinstall-5.0.67-win32.zip 到一个C盘,重新命名为 MySQL5 .      假定MYSQL_HOME=C:/ MySQL5 2.编辑mysql的运行配置文件my.ini,如果没有,可

docker安装mysql挂载外部配置和数据目录

从docker hub上可以找到mysql外挂配置和数据目录的一些文档说明 https://hub.docker.com/_/mysql 从该文档中可以了解到,mysql的默认配置为/etc/mysql/my.cnf,该文件中包含了一个额外的数据目录/etc/mysql/conf.d 或者/etc/mysql/mysql.conf.d 先启动一个不带任何挂载的mysql容器 docker run -d -p 3307:3307 -e MYSQL_ROOT_PASSWORD=12345 --nam

Docker MySQL 启动和binlog配置修改

docker run -d --name mysql -p 3306:3306 --restart=always \ --privileged=tru -e MYSQL_ROOT_PASSWORD=root -v /home/mysql/data/:/var/lib/mysql/ \ -v/home/mysql/config/:/etc/mysql/mysql.conf.d --character-set-server=utf8mb4 --collation-server=utf8mb4_uni

数据库升级到mysql5.7出现的1067 - Invalid default value for '字段名' (docker版)

docker run -d --name xxx --network lnmp7 -p 3306:3306 -v /data/xxx/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=oneone mysql:5.7 docker container cp xxx:/etc/mysql/mysql.conf.d .   // 取出mysql中的配置文件 docker stop xxx docker rm -f xxx //删除实例 mv mysql.conf.

35.Docker安装Mysql挂载Host Volume

连个文件系统有块区域Area,我们要做的是把两个Area做文件映射 jesse腾讯云上有个linux的环境,版本比较老了 简书的地址: https://www.jianshu.com/p/b3bf647a726e 先把旧版的移除掉 yum -y remove docker docker-common container-selinux 设置新版本的docker的地址 yum-config-manager --add-repo https://docs.docker.com/v1.13/engin

Docker容器的详解与配置

本章大纲: 1.什么是Docker 2.Docker的三大核心是什么 3.Docker的概念及安装 一.揭开Docker的神秘面纱 1.Docker是什么Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化.Docker作为开源社区最火爆的项目,它是在Linux容器里运行应用的开源工具,是一种轻量级的"虚拟机",docker的全部源代码都在https://github

《高可用MySQL》1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容. Master-Slave这东西吧.在很多公司都是标配.开发中基本天天都用.遇到的问题自然也不少(如主从不同步,Master宕机).但操作权限很有限.有些东西,仅仅有自己看了.做了,才干真正知道原理是什么,也才干更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从