美文网首页
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