zoukankan      html  css  js  c++  java
  • docker安装mysql8

    一、下载镜像

    # 查找镜像
    docker search mysql  # mysql
    
    # 下载镜像 https://hub.docker.com/ docker 官方搜索查看有哪些 mysql 镜像版本
    docker pull mysql:8.0.27
    
    # 查看已下载镜像
    docker images

    二、创建相关目录

    宿主机创建相关

    mkdir -p /home/docker/mysql/mysql8/conf      # 配置文件目录
    mkdir -p /home/docker/mysql/mysql8/data      # 数据目录
    mkdir -p /home/docker/mysql/mysql8/log       # 日志目录

    宿主机新增配置文件

    # 配置文件
    vim /home/docker/mysql/mysql8/conf/my.cnf

    配置文件内容

    # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; version 2 of the License.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
    
    #
    # The MySQL  Server configuration file.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
    [client]
    default-character-set = utf8mb4
    
    [mysqld]
    pid-file        = /var/run/mysqld/mysqld.pid
    socket          = /var/run/mysqld/mysqld.sock
    datadir         = /var/lib/mysql
    
    # 限制导入导出文件目录的, 可自行搜索, 我暂时没有用到过, 下面这样表示不限制目录
    secure-file-priv =
    
    character_set_server = utf8mb4
    collation_server = utf8mb4_bin
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    # Custom config should go here
    !includedir /etc/mysql/conf.d/
    
    # 这里是配置加密方式的
    # 启动警告 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
    default_authentication_plugin= mysql_native_password

    三、创建并运行容器

    docker run \
        -p 3306:3306 \
        -e MYSQL_ROOT_PASSWORD=root \
        -v /home/docker/mysql/mysql8/data:/var/lib/mysql:rw \
        -v /home/docker/mysql/mysql8/log:/var/log/mysql:rw \
        -v /home/docker/mysql/mysql8/conf/my.cnf:/etc/mysql/my.cnf:rw \
        -v /etc/localtime:/etc/localtime:ro \
        --name mysql801 \
        --restart=always \
        -d mysql:8.0.27
    
    
    -p 3306:3306                                                    : 端口映射, 前宿主机后容器
    -e MYSQL_ROOT_PASSWORD=root                                     : 指定数据库root用户的密码
    -v /home/docker/mysql/mysql8/data:/var/lib/mysql:rw             : 容器目录与宿主机目录的映射/挂载, 后面是指定读写权限
    -v /home/docker/mysql/mysql8/log:/var/log/mysql:rw              : 同上
    -v /home/docker/mysql/mysql8/conf/my.cnf:/etc/mysql/my.cnf:rw   : 同上
    -v /etc/localtime:/etc/localtime:ro                             : 时区文件
    --name mysql8                                                   : 容器名称
    --restart=always                                                : docker重启时容器也重启, 类似开机启动的意思
    -d mysql:8.0.27       

    查看日志

    docker logs 容器ID/容器名称
    docker logs mysql801

    登录容器

    docker exec -it 容器ID/容器名称 /bin/bash
    docker exec -it mysql801 /bin/bash
  • 相关阅读:
    CHttpFile调试
    关于linux下网络编程socket 转换IP问题 inet_ntoa()
    vc使用SetTimer回调函数
    OpenGL+VC6.0开发环境搭建
    Java StringBuffer和StringBuilder类
    Java String类
    Java 异常处理
    hashcode()和equals()的作用、区别、联系
    抽象类可以继承实体类吗?
    Java 向上造型详解
  • 原文地址:https://www.cnblogs.com/chenxingyang/p/15780184.html
Copyright © 2011-2022 走看看