广告
返回顶部
首页 > 资讯 > 数据库 >mysql镜像生成容器的下载安装及配置过程
  • 310
分享到

mysql镜像生成容器的下载安装及配置过程

2023-06-19 10:06:58 310人浏览 泡泡鱼
摘要

这篇文章主要介绍“mysql镜像生成容器的下载安装及配置过程”,在日常操作中,相信很多人在Mysql镜像生成容器的下载安装及配置过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql镜像生成容器的下载安

这篇文章主要介绍“mysql镜像生成容器的下载安装及配置过程”,在日常操作中,相信很多人在Mysql镜像生成容器的下载安装及配置过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql镜像生成容器的下载安装及配置过程”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、下载官方的mysql镜像

[root@localhost ~]# Docker pull mysql

下载完成后查看镜像:

[root@localhost ~]# docker imagesREPOSITORY                    TAG                 IMAGE ID            CREATED             SIZEdocker.io/mysql               latest              1195b21c3a45        10 weeks aGo        380.2 MB

二、生成容器 

生成容器时,调用的启动脚本是/entrypoint.sh;通过查看/entrypoint.sh脚本内容,总结参数如下

mysqld #启动mysql服务,必须使用MYSQL_ROOT_PASSWord #设置mysql的root密码,必须使用#以下二个参数添加除root之外的用户并设置密码,可选。MYSQL_USER MYSQL_PASSWORD#设置生成容器时需要新建的数据库,可选MYSQL_DATABASE#容器的mysql数据库默认的保存路径是:/var/lib/mysql#容器的配置文件my.cnf的路径为:/etc/mysql/my.cnf

使用上要的参数生成新的容器:

[root@localhost mysql_data]# docker run -d -p 3307:3306 --name mysql  -P  -e mysqld -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=yope -e MYSQL_PASSWORD=yope -e MYSQL_DATABASE=testDb -v /mysql_data:/var/lib/mysql  mysql 492ffa26d8653561208aed28eb62c61e9bae0de91ef911769c35f9e4eae6b272[root@localhost mysql_data]# docker ps -aCONTaiNER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS                                          NAMES492ffa26d865        mysql               "docker-entrypoint.sh"   10 seconds ago      Up 7 seconds               0.0.0.0:3307->3306/tcp                         mysql

重要参数说明:

 --name mysql

指定容器名称为 mysql;

-p 3307:3306

指定映射端口 将宿主机端口3307映射到容器3306端口;

-v /mysql_data:/var/lib/mysql

映射数据库存放位置。将宿主机的目录“/mysql_data”映射到容器的“/var/lib/mysql”目录;这是因为默认情况下数据库的数据库文件和日志文件都会存放于容器的AUFS文件层,这不仅不使得容器变得越来越臃肿,不便于迁移、备份等管理,而且数据库的性能也会受到影响。因此建议挂载到宿主机的目录到容器内。

查看本地的mysql_data是否生成容器内的数据库:

[root@localhost /]# ll /mysql_data/总用量 188452-rw-r----- 1 systemd-bus-proxy ssh_keys       56 8月  20 22:25 auto.cnf-rw-r----- 1 systemd-bus-proxy ssh_keys     1329 8月  20 22:25 ib_buffer_pool-rw-r----- 1 systemd-bus-proxy ssh_keys 79691776 8月  20 22:25 ibdata1-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile0-rw-r----- 1 systemd-bus-proxy ssh_keys 50331648 8月  20 22:25 ib_logfile1-rw-r----- 1 systemd-bus-proxy ssh_keys 12582912 8月  20 22:25 ibtmp1drwxr-x--- 2 systemd-bus-proxy ssh_keys     4096 8月  20 22:25 mysqldrwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 perfORMance_schemadrwxr-x--- 2 systemd-bus-proxy ssh_keys     8192 8月  20 22:25 sysdrwxr-x--- 2 systemd-bus-proxy ssh_keys       19 8月  20 22:25 testDb[root@localhost /]#

已经生成相关的文件和默认数据库,同时也新建了"testDb"数据库.

测试方案一:

在宿主机上通过端口访问容器中的mysql服务

[root@localhost /]# yum -y install mysql

测试登录:

[root@localhost mysql_data]# mysql -u root -p -h 127.0.0.1 -P 3307Enter password: Welcome to the MariaDB monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.13 MySQL CommUnity Server (GPL)Copyright (c) 2000, 2016, oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MySQL [(none)]>

测试方案二:

自己本地利用mysql 连接工具(eg:Navicat 等)进行连接,注意映射出来的真实端口不一定是3306就好了。

需要注意的是:宿主机上的UID和GID是999。这是容器里用户mysql的UID和GID。千万别进行权限变更,否则容器对这个目录进行读写就会出现问题。如果觉得不舒服,可以在本地新建一个mysql_docker的用户指定UID和GID是999。

(这个注意本人没有落实验证,如果描写信息有错,还望指出)

三、进入到新生成的容器 (名为mysql的容器)

使用exec进入容器,同时进行相关操作: 

[root@localhost /]# docker exec -it mysql /bin/bash

查看进程:

root@492ffa26d865:/# ps -auxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDmysql         1  0.2  9.7 1262696 182200 ?      Ssl  14:52   0:00 mysqldroot        127  0.2  0.1  20216  1884 ?        Ss   14:57   0:00 /bin/bashroot        133  0.0  0.0  17492  1148 ?        R+   14:58   0:00 ps -aux

查看数据库所在的文件夹:

root@492ffa26d865:/# ls -l /var/lib/mysql/total 188452-rw-r----- 1 mysql mysql       56 Aug 20 14:52 auto.cnf-rw-r----- 1 mysql mysql     1329 Aug 20 14:52 ib_buffer_pool-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile0-rw-r----- 1 mysql mysql 50331648 Aug 20 14:52 ib_logfile1-rw-r----- 1 mysql mysql 79691776 Aug 20 14:52 ibdata1-rw-r----- 1 mysql mysql 12582912 Aug 20 14:52 ibtmp1drwxr-x--- 2 mysql mysql     4096 Aug 20 14:52 mysqldrwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 performance_schemadrwxr-x--- 2 mysql mysql     8192 Aug 20 14:52 sysdrwxr-x--- 2 mysql mysql       19 Aug 20 14:52 testDb

进入mysql:

root@492ffa26d865:/# mysql -u root -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.13 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a reGIStered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

四、修改容器中mysql的配置文件 

默认镜像中并没有安装vi或者vim,需要手工安装

root@492ffa26d865:/# apt-get update && apt-get -yq install vim

然后就可以使用vim 来修改mysql的配置文件:

root@492ffa26d865:/# vim /etc/mysql/my.cnf

vim编辑器在此不做详述。

如果已经有一个比较成熟的my.cnf的配置方案,可以在宿主机上新建一个文件夹将已经设置好的my.cnf和conf.d这二个文件放到里面,

然后在新建容器的时候,直接使用参数”-v” 将这个文件夹映射到容器的”/etc/mysql”目录上即可。

到此,关于“mysql镜像生成容器的下载安装及配置过程”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql镜像生成容器的下载安装及配置过程

本文链接: https://www.lsjlt.com/news/295420.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作