docker中安装mysql(代码片段)

张侦毅 张侦毅     2022-12-10     124

关键词:

文章目录

使用docker安装MySQL

为什么使用docker安装MySQL

  在软件开发中,由于项目需要,以及新技术的学习,这要求我们需要在自己的电脑中安装众多的软件,而其中相当大一部分的软件,其实我们在平常是根本不去使用的,但是不使用,不代表了不启动,亦不代表不会拖慢系统的反应速度。

  实际上我们在安装了众多的软件后,由于其不可避免的会在操作系统中写入很多软件信息,并且相当大一部分的软件,往往是随着系统自启动的,这致使我们的系统使用的越久,系统的反应速度越慢,安装的软件越多,系统的反应速度也会越慢,而安装的这些软件中,其中绝大多数是在平常的开发中根本使用不到的,因而为了避免系统资源不必要的浪费,这里推荐使用docker开发软件。

  而在这里,我们是使用docker安装MySQL

使用docker安装MySQL的好处

  使用docker安装MySQL,它的优点主要如下:

  • 不会在系统中写入文件,因而不会使系统臃肿
  • 不会软件自启,因而不会消耗过多的系统资源
  • 软件升级,迁移方便
  • 修改软件配置简单

软件版本与文档

操作系统

  • CentOS-7

MySQL

  • MySQL-5.7

DockerHub-MySQL

MySQL开发文档

安装MySQL

安装脚本

  由于docker中对容器的使用主要是通过命令行的方式进行,而命令行,我们又可以写入Linux系统的Shell脚本中,因而为了日后维护方便,这里推荐大家通过Shell脚本来维护自己安装的软件。

  通过Shell安装MySQL的脚本如下:

#!/bin/bash
cur_dir=`pwd`
docker stop mysql
docker rm mysql
docker run --name mysql -v $cur_dir/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --default-authentication-plugin=mysql_native_password --lower-case-table-names=1

说明

  pwd表示的是打印当前文件路径,而该路径赋给cur_dir,通过-v $cur_dir/data:/var/lib/mysql中的$cur_dir/data,表示将容器中的MySQL数据库文件挂载到当前路径的data文件夹下。由于在Linux系统中,文件路径不存在,系统会自动创建的特性,因而我们不用去专门创建data文件夹,该文件夹会在MySQL容器创建时,自动创建。

  -e MYSQL_ROOT_PASSWORD=root表示设置当前的系统中的环境,此处的环境设置的是MySQL的密码,此处我们的密码设置为root

  default-authentication-plugin=mysql_native_password,表示让MySQL允许远程访问。

  docker stop mysqldocker rm mysql此处是docker中停止容器并删除容器的指令,当容器本身不存在时,控制台只会进行相应的提示,而并非错误信息,是不影响使用的。

  --lower-case-table-names=1表示让MySQL软件忽略数据表名的大小写。

注意事项

  这里尤为需要注意的是,在MySQL中,由于操作系统的不同,MySQL的配置亦会出现相应的不同。这里我们以上面的lower_case_table_names为例来进行说明:

lower_case_table_names属性

属性
命令行--lower-case-table-names[=#]
系统参数lower_case_table_names
作用域全局
动态
SET_VAR提示应用
类型Integer
默认值0
最小值0
最大值2

  在其官方的开发文档中有如下一句话需要我们特别注意:

On Windows the default value is 1. On macOS, the default value is 2.
On Linux, a value of 2 is not supported; the server forces the value
to 0 instead.

  它们的意思是Windows与苹果操作系统中,其默认值为1,在其它操作系统中,其默认值为2,而在Linux系统中,其默认值2并不支持,因而此处选择用0来代替。

  最后再来解释下lower_case_table_names不同值的含义,如下:

如果设置为0,表名将按指定方式存储,并且比较区分大小写。如果设置为1,表名将以小写形式存储在磁盘上,并且比较不区分大小写。如果设置为2,则表名按给定格式存储,但以小写形式进行比较。此选项还适用于数据库名称和表别名。有关其他详细信息,请参阅第9.2.3节“标识符区分大小写”。

  而不注意此处的人,免不了要踩很多坑。

如何在docker中安装mysql数据库(代码片段)

1、Docker环境视频教程:https://www.bilibili.com/video/BV1xv4y1S7kA2、搜索镜像https://hub.docker.com/网站搜索MySQL,确定其安装版本,这里安装8.0.31版;3、拉取镜像[root@localhost~]#dockerpullmysql:8.0.318.0.3 查看详情

在windowsdocker中安装mysql(代码片段)

本文的前提是本地Docker环境已经配置成功,参考Windows10安装Docker并使用私钥连接AWSEC21.参考资料https://dev.mysql.com/doc/refman/8.0/en/grant.htmlhttps://www.jeffgeerling.com/blog/2017/how-fix-host-1721801-not-allowed-connect-mysql-doc 查看详情

centos7.4中安装docker(代码片段)

#!/bin/sh#安装docker#在docker中安装mysql#解决了docker容器中无法输入中文的问题##########################安装docker#更新源yum-yupdate#卸载旧版本(如果安装过旧版本的话)sudoyumremovedockerdocker-commondocker-selinuxdocker-engine#安装需要的软件包,yum-util 查看详情

在docker中安装并修改mysql中的my.cnf配置文件(代码片段)

...能的合理利用。本文共分为三个方面进行讲述:一、Docker安装MySQL查看mysql镜像 sudodockersearchmy 查看详情

阿里云服务器使用docker安装mysql(代码片段)

前言上一篇文章中,我们已经在阿里云服务器中安装了docker,这篇我们将继续使用docker在云主机中安装mysql。如果你对docker中的命令不了解,那也没有关系,文中使用到的命令我都会带上一点注释信息的。其实docker中安... 查看详情

shdebian-在debianjessie中安装docker(代码片段)

查看详情

docker中安装elasticsearch(代码片段)

1、更改docker镜像仓库#这个网上有很多,我也是在网上找的,或者自己去阿里云申请vi/etc/docker/daemon.json"registry-mirrors":["http://hub-mirror.c.163.com"]#重启dockersystemctlrestartdocker.service2、可以先查看有哪些容器了dockerima 查看详情

sh在docker中安装prometheus和grafana(代码片段)

查看详情

在centos中安装docker(代码片段)

概述Docker是一款使用Golang开发的开源容器引擎,我们可以使用Docker将自己的应用和相关依赖进行打包,实现在不同服务器上进行快速部署,而不需要再更多关注部署环境的差异性。结合kubernete我们可以更好的对Docker容器进行编排... 查看详情

在docker容器中安装vim(代码片段)

在容器中发现没vim,安装时apt-getinstallvim提示    Readingpackagelists...Done    Buildingdependencytree        Readingstateinformation 查看详情

docker中安装rabbitmq并启用插件(代码片段)

1.获取rabbitmq镜像,注意获取镜像的时候要获取management,不要获取last版本,management版本才是带有管理界面的,结果如下[email protected]:/usr/local/src#dockersearchrabbitmq:managementNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDmacintoshplus/rabbi 查看详情

在centos中安装docker(代码片段)

在CentOS中安装DockerDocker官方安装文档InstallDockerEngineonCentOS整理后1.卸载老版本Docker(系统未安装过Docker,可以不用操作这步)sudoyumremovedocker\\        docker-client\\        dock... 查看详情

如何在docker容器中安装rabbitmq(代码片段)

1、Docker环境视频教程:https://www.bilibili.com/video/BV1xv4y1S7kA/2、搜索镜像https://hub.docker.com/网站搜索rabbitmq,确定其安装版本,这里安装rabbitmq:3.8.12-management版,带“-management”版本的Rabbit含有Web管理界 查看详情

docker中安装ssh(代码片段)

一些比较简版的docker镜像中,是默认没有安装ssh的,当我们有这个需求的时候,需要为它安装,具体步骤如下:一、使用yum安装yum-yinstallopensslopenssh-serveropenssh-clients二、启动注意:正常情况我们是要使用下... 查看详情

ubuntu中安装jenkins,基于docker运行jenkins(代码片段)

   本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中,至于docker如何安装,本文不再描述,大家可以上网查询下,如何安装docker,下面先放上一个使用jenkins自动部署原理图片(图片是网上找的,感谢原创分享)  下面... 查看详情

linux环境下docker中安装redis--整合springboot(代码片段)

Linux环境下docker中安装Redis--整合springboot一:安装流程二:Redis类型常用命令三:springBoot整合redis一:安装流程1.搜索镜像源dockersearchredis2.下载最新版redisdockerpulldocker.io/redis3.下载成功后可以查看其信息dockerimages4.运... 查看详情

linux环境下docker中安装redis--整合springboot(代码片段)

Linux环境下docker中安装Redis--整合springboot一:安装流程二:Redis类型常用命令三:springBoot整合redis一:安装流程1.搜索镜像源dockersearchredis2.下载最新版redisdockerpulldocker.io/redis3.下载成功后可以查看其信息dockerimages4.运... 查看详情

win10子系统ubuntu中安装docker(代码片段)

目录一、按照常规步骤安装docker二、问题一:ubuntu默认使用了WSL而不是WSL2三、问题二:未打开windows下DockerDesktop的TLS开关四、问题三: CannotconnecttotheDockerdaemonattcp://0.0.0.0:2375.Isthedockerdaemonrunning?        在上篇文... 查看详情