美文网首页
C.4 docker install mysql

C.4 docker install mysql

作者: 成长的键盘手 | 来源:发表于2018-03-01 23:13 被阅读0次

安装mysql镜像

准备

# 下载mysql镜像
docker pull mysql:5.6

# 在宿主机创建目录
mkdir /opt/docker-software/mysql

mysql配置文件设置

在/opt/docker-software/mysql目录创建my.cnf,主要填写mysql的关键配置,填写以下内容:

[mysqld]
user=mysql
default-storage-engine=INNODB
character_set_server = utf8
init_connect='SET NAMES utf8'
max_connections = 1000
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

max_allowed_packet=64M

[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid

镜像启动一个容器

#启动第一个mysql,映射端口为3306
docker run -p 3306:3306 --name mysql-3306 --restart=always \
    -v /opt/docker-software/mysql/my.cnf:/etc/mysql/my.cnf \
    -v /opt/docker-software/mysql/3306/data/:/var/lib/mysql \
    -v /opt/docker-software/mysql/3306/log/:/var/log/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.6 

#启动第二个mysql,映射端口为3307
docker run -p 3307:3306 --name mysql-3307 --restart=always \
    -v /opt/docker-software/mysql/my.cnf:/etc/mysql/my.cnf \
    -v /opt/docker-software/mysql/3307/data/:/var/lib/mysql \
    -v /opt/docker-software/mysql/3307/log/:/var/log/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.6

命令解释:

  • -p是将容器的3306端口映射到宿主机的3306|3307端口上
  • -v是将容器的目录或者文件映射到宿主机器上
  • mysql镜像启动时默认加载的是/etc/mysql/my.cnf,所以我们将/etc/mysql/my.cnf映射到了宿主机的/opt/docker-software/mysql/my.cnf,保证mysql启动时加载的是我们自己配置的my.cnf
  • 在my.cnf中我们配置的数据文件的目录是/var/lib/mysql,所以我们将此目录映射到宿主机的/opt/docker-software/mysql/3306/data/和/opt/docker-software/mysql/3307/data/。这将保证mysql的数据文件存储在宿主机指定的目录中,防止容器停止重启时丢失。
  • MYSQL_ROOT_PASSWORD为初始化mysql root用户的密码

测试

使用mysql工具分别连接3306和3307测试mysql的是否能够使用

参考资料

docker官方安装mysql镜像的参考地址: https://hub.docker.com/_/mysql/

相关文章

网友评论

      本文标题:C.4 docker install mysql

      本文链接:https://www.haomeiwen.com/subject/psqoxftx.html