mysql通过容器化启动时,宿主机会有mysqld的进程吗?

mysql通过容器化启动时,宿主机会有mysqld的进程吗?,第1张

有。

根据查询相关资料信息,通过在宿主机器上的命令行psaux|grepmysql看到mysql的进程。mysql通过容器化启动时,宿主机会有mysqld的进程。

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS应用软件之一。

已运行的容器中途再mysql挂载数据卷步骤如下。

1、安装好Docker,下载MySQL5.7镜像。

2、创建容器并挂载数据。创建容器并挂载数据。

3、登录MySQL。上传备份sql到宿主机,复制宿主机备份sql到容器。

4、进入mysql容器内部,导入sql,查看数据即可完成。

当我们的mysql 容器启动后,想要登陆mysql 的数据库怎么办。以下介绍几种方法, 其他容器的登陆也可以仿效。

第一: 启动容器后用link 链接, 官方的mysql 容器有以下几个环境变量。

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql

docker run -it --link some-mysql:mysql daocloud.io/mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

第二种方法:已经有compose 启动的容器用link链接, 比如我的docker image 为pythondjangocdsample_mysql_1,可以用如下命令链接

docker run -ti --link pythondjangocdsample_mysql_1:mysql daocloud.io/mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

或者用busybox 链接mysql 容器查看环境变量, 以下为myblog_mysql_1 中的环境变量。

docker run -ti --link myblog_mysql_1:mysql busybox

/ # env

HOSTNAME=2f0ab0a2e9c5

SHLVL=1

HOME=/root

MYSQL_ENV_MYSQL_DATABASE=myblog

MYSQL_ENV_MYSQL_MAJOR=5.7

TERM=xterm

MYSQL_PORT_3306_TCP_ADDR=172.17.0.3

MYSQL_ENV_MYSQL_ROOT_PASSWORD=mysql

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

MYSQL_PORT_3306_TCP_PORT=3306

MYSQL_PORT_3306_TCP_PROTO=tcp

MYSQL_PORT=tcp://172.17.0.3:3306

MYSQL_ENV_MYSQL_VERSION=5.7.11-1debian8

MYSQL_PORT_3306_TCP=tcp://172.17.0.3:3306

PWD=/

MYSQL_NAME=/pensive_morse/mysql

以下为myblog_myblog_1链接到myblog_mysql_1 中的环境变量。

docker run -ti --link myblog_myblog_1:myblog busybox

/ # env

MYBLOG_ENV_PYTHON_VERSION=2.7.11

MYBLOG_ENV_MYSQL_PORT_3306_TCP_ADDR=mysql

MYBLOG_ENV_MYSQL_PASSWORD=mysql

MYBLOG_PORT=tcp://172.17.0.4:80

HOSTNAME=5ae02b948c2c

SHLVL=1

HOME=/root

MYBLOG_ENV_MYSQL_PORT_3306_TCP_PORT=3306

MYBLOG_ENV_MYSQL_INSTANCE_NAME=myblog

MYBLOG_NAME=/nostalgic_darwin/myblog

MYBLOG_PORT_80_TCP_ADDR=172.17.0.4

MYBLOG_ENV_GPG_KEY=C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF

MYBLOG_PORT_80_TCP_PORT=80

MYBLOG_PORT_80_TCP_PROTO=tcp

TERM=xterm

MYBLOG_ENV_PYTHON_PIP_VERSION=8.1.1

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

MYBLOG_PORT_80_TCP=tcp://172.17.0.4:80

MYBLOG_ENV_LANG=C.UTF-8

MYBLOG_ENV_MYSQL_USERNAME=root

PWD=/

第三种方法:直接以client 端登陆mysql

sudo apt-get install mysql-client

mysql -h172.17.0.3 -P3306 -uroot -pmysql

第四种: 在容器里面添加ssh-server

[supervisord]

nodaemon=true

[program:sshd]

command=/usr/sbin/sshd -D

[program:httpd]

command=/bin/bash -c "exec /usr/sbin/httpd -DFOREGROUND"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6123532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存