全栈工程师_java全栈工程师_全栈开发者学习经验总结

  • 首页
  • 开发工具
    • 软件安装
    • 软件使用
  • 前端
    • Ionic
    • Android
    • Capacitor
    • Angular
    • Vue
    • 苹果开发者账号
  • 后端
    • Java
    • Python
    • MyBatis
    • Spring
    • SpringBoot
    • SpringMVC
    • SpringCloud
  • 服务器
    • Linux
    • MySQL
    • Nginx
    • Tomcat
    • Docker
  • 其他
    • 生活碎片
    • 报错专区
  • 我
lipsuper
专注产出高质量原创手打文章
  1. 首页
  2. 服务器
  3. Docker
  4. 正文

在Centos7上使用Docker安装一个MySQL数据库的步骤

2020年10月19日 645点热度 0人点赞 0条评论

使用docker安装mysql数据库需要注意的是,通常我们要把数据库的数据文件挂载到我们的外部Centos主机上,防止数据丢失。

安装步骤

第一步 拉取镜像

docker pull mysql:5.7

安装与挂载目录

第一步安装完成以后,使用docker images命令来确认一下我们拉取的镜像对不对,下面是我的镜像情况,可见拉取成功:

docker安装mysql

接下来使用下面的命令就可以安装了:

docker run -p 3306:3306 --name mysql \
-v /usr/local/docker_mysql/log:/var/log/mysql \
-v /usr/local/docker_mysql/data:/var/lib/mysql \
-v /usr/local/docker_mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

把这些命令复制到终端,回车,就会创建出一个mysql5.7的容器了。

上面第一行的-p 3306:3306前一个3306表示的是宿主机的3306端口,后一个表示创建的mysql容器的默认的3306端口,合起来就表示把mysql容器的3306端口映射到宿主机的3306端口,这样一来,我们就可以通过外部的3306端口访问到mysql容器了。

上面的第二三四行都表示文件目录挂载,冒号前面的目录是宿主机中的目录,冒号后面的是mysql容器内部的目录。冒号前面的目录不用手动创建,这个命令会自动创建。这样以来,我们在外部目录的任何操作都会同步到容器内部对应的文件夹,反之亦然。

上面第五行表示给数据库的root用户设置初始密码

上面第六行的-d表示后台运行,mysql:5.7表示指定使用的镜像。也就是我们刚才拉取下来的镜像。

配置mysql

接下来还要对mysql进行一些配置,我们的配置文件就可以直接放在我们上面制定的外部挂载目录下面了,也就是/usr/local/docker_mysql/conf这个目录。

vi /usr/local/docker_mysql/conf/my.cnf

拷贝下面的代码到my.cnf这个文件:

[client]
default-character-set=utf8
​
[mysql]
default-character-set=utf8
​
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

保存退出后,执行docker restart mysql就可以完成配置。

至此mysql容器就安装并且配置完成了。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 干货
最后更新:2020年10月19日

lipsuper

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

取消回复

COPYRIGHT © 2021 lipsuper.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2021004735号-1

渝公网安备 50011202502306号