• docker安装mysql8


    原文地址:https://www.cnblogs.com/chenxingyang/p/15780184.html

    注意,在安装的时候遇到了问题,我安装的版本是mysql 8.0.29

    1、/var/log/mysql 这个目录容器里面不存在

    2、下面的这个配置加上后容器就起不起来了,查了下貌似是不支持修改了

    #表名不区分大小写

    lower_case_table_names=1

    一、下载镜像

    复制代码
    # 查找镜像
    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
  • 相关阅读:
    安装paramiko
    pip安装
    json
    java的枚举2
    java学习笔记1
    Myeclipse配置tomcat,以及简单的Myeclipse的配置
    Net分布式系统之四:RabbitMQ消息队列应用
    Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
    Net分布式系统之二:CentOS系统搭建Nginx负载均衡(下)
    Spring简介
  • 原文地址:https://www.cnblogs.com/eyesfree/p/16271871.html
Copyright © 2020-2023  润新知