zoukankan      html  css  js  c++  java
  • MySQL5.7 容器化安装

    本文是一个简单的使用Docker启动MySQL 5.7的步骤。

    1、创建目录

    目录的创建位置随意,一个位置放配置文件,一个位置放数据文件,命令:

    mkdir -p /mysql/conf
    mkdir -p /mysql/data

    数据目录必须为空,mysql初始化时会写入写文件,重新安装时尤其注意清空数据目录

    2、创建配置文件

    这里主要是想修改启动端口为3308,并且后续可以在配置文件中增加一些定制化配置

    vi /mysql/conf/my.cnf
    
    写入内容如下:
    [mysql]
    default-character-set=utf8
    [mysqld]
    port = 3308 
    max_connections=200
    character-set-server=utf8
    default-storage-engine=INNODB

    3、指定密码,启动容器

    如果本地没有镜像会下载一段时间,命令如下:

    docker run --network=host --name=mysql57-3308 -v /mysql/conf/my.cnf:/etc/my.cnf -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:5.7 --user=root

    这里使用host网络模式,容器会和宿主机复用网络环境,也可以使用-p 3308:3308取代--network=host;

    这里通过MYSQL_ROOT_PASSWORD这个环境变量设置的初始密码;

    另外mysql5.7不建议使用root用户,而我必须使用root用户,所以在最后增加了参数:--user=root

    4、进入容器连接mysql服务器修改连接限制

    默认情况下root用户只能在本地连接,所以需要进入容器连接mysql服务,命令:

    docker exec -it mysql57-3308 mysql -uroot -P 3308 --host localhost -p
    
    #然后输入密码
    
    use mysql; #如果想修改密码 UPDATE user SET authentication_string
    = PASSWORD('newpassword') WHERE user = 'root'; #取消只能从本地连接mysql服务的限制 UPDATE user SET host = '%' WHERE user = 'root';

    #退出
    exit;

    5、重启容器使修改生效

    docker restart mysql57-3308

    (完毕)

  • 相关阅读:
    使用dozermapper,处理不了LocalDateTime的映射问题:java.lang.NoSuchMethodException: java.time.LocalDateTime.<init>()
    mybatis-plus使用Wrapper自定义sql时出现错误:Invalid bound statement (not found)
    com.baomidou.mybatisplus.core.mapper 不存在
    python爬虫
    DRF源码系列分析
    python学习目录
    脚本加载django环境
    celery定时任务
    用脚本创建django-orm数据库表数据
    关于python很吊的一项技术!!!!!
  • 原文地址:https://www.cnblogs.com/flying607/p/12357798.html
Copyright © 2011-2022 走看看