Centos /Linux环境下利用Docker 安装mysql5.7镜像(含离线安装),启动mysql镜像并初始化数据库

3 篇文章 0 订阅
3 篇文章 0 订阅

Docker 安装mysql镜像(含离线)

准备mysql的Docker镜像(需要在有网的服务器中下载)

  1. 使用有网的服务器下载好镜像

    docker pull mysql:5.7 
    
  2. 保存下载好的镜像成tar

    docker images
    docker save imageid > mysql5.7
    ll
    

    在这里插入图片描述

将准备好tar导入到docker镜像

  1. 将镜像上传到所需服务器(放在固定位置)

  2. 导入镜像

    docker load <mysql5.7
    

    注意名称,这里的mysql5.7和上面打包docker save imageid > mysql5.7的名称一致,本例未改名

    在这里插入图片描述

  3. 查看导入的镜像,并重新命名镜像

    docker images
    docker tag imageid mysql:5.7
    

    在这里插入图片描述

Docker启动mysql镜像并初始化数据库

Docker启动MySQL镜像

  1. 创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)

    mkdir -p /home/app/mysql/data /home/app/mysql/logs /home/app/mysql/conf
    
  2. 启动镜像

    docker run --name mysql -p 3306:3306 -v /home/app/mysql/data:/var/lib/mysql -v /home/app/mysql/conf:/etc/mysql/conf.d -v /home/app/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d eef0fab001e8
    

    -p 3306:3306 :端口映射,将宿主机3306端口与容器3306端口做映射
    格式:-p 宿主机端口:容器端口

    –name mysql : 指定容器名字为mysql,也可以不指定,不指定没有容器名字

    数据容器卷挂载
    -v /home/app/mysql/data:/var/lib/mysql :对宿主机数据库目录与容器数据库目录进行映射挂载
    -v /home/app/mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载
    -v /home/app/mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载
    -e MYSQL_ROOT_PASSWORD=123456 :配置mysql的root账号的密码为123456(可以根据需要自行修改密码)
    -d:后台执行
    eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

    在这里插入图片描述

Docker初始化数据库

有网配置(非必要,按需修改)

  1. 进入到bash

    docker exec -it eef0fab001e8 bin/bash
    

    eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

  2. docker 安装vim(有网)

    apt-get update
    apt-get install vim
    
  3. 修改mysql的配置(非必要,按需修改)

    vi /etc/my.cnf
    

    修改的内容为:

    character-set-server=utf8
    max_connections = 5000
    log_bin_trust_function_creators=1
    lower_case_table_names = 1
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    transaction_isolation = READ-COMMITTED
    group_concat_max_len = 102400 
    

    退出 bash (2 种操作) 1)Ctrl + d 退出容器(也可直接输入:exit); 2)Ctrl + p + q 退出并在后台运行容器;

  4. 重启 docker 容器

    docker restart [容器名]
    

无网配置(非必要,按需修改)

  1. 进入到bash

    docker exec -it eef0fab001e8 bin/bash
    

    eef0fab001e8 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

  2. docker 配置my.cnf(非必要,按需修改)【直接拷贝,需重启】

    复制/root/mysql_db_back/下的my.cnf文件到容器中的etc目录下

    docker cp /root/mysql_db_back/my.cnf mysql:/etc
    

    重启 docker 容器

    docker restart [容器名]
    
  3. 检查参数配置

    SHOW VARIABLES WHERE variable_name IN (
    'log_bin_trust_function_creators',
    'transaction_isolation',
    'lower_case_table_names',
    'sql_mode',
    'character_set_server',
    'default_character_set',
    'innodb_large_prefix',
    'max_connections',
    'innodb_buffer_pool_size',
    'group_concat_max_len'
    );
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Docker安装MySQL5.7可以按照以下步骤进行操作。 1. 首先,拉取MySQL5.7镜像。你可以使用以下命令下载最新版本的MySQL5.7镜像: ``` docker pull mysql:5.7 ``` 如果你想下载指定版本的MySQL5.7,可以使用命令: ``` docker pull mysql:5.7.34 ``` 2. 创建宿主机的数据、配置和日志目录。你可以使用以下命令创建相应的目录: ``` mkdir -p /usr/local/docker_data/mysql/data mkdir -p /usr/local/docker_data/mysql/conf/conf.d mkdir -p /usr/local/docker_data/mysql/conf/mysql.conf.d mkdir -p /usr/local/docker_data/mysql/logs ``` 3. 运行MySQL容器。你可以使用以下命令来启动一个名为mysql5.7的容器,并将宿主机的目录挂载到容器: ``` docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7 ``` 在CentOS 7上,如果目录挂载失败,你可以添加`--privileged=true`参数给容器,让容器拥有真正的root权限: ``` docker run --privileged=true --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:5.7 ``` 这样,你就成功地使用Docker安装运行MySQL5.7数据库。你可以使用Navicat或其他工具连接到MySQL数据库进行开发和管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker安装MySQL5.7和8](https://download.csdn.net/download/weixin_38627769/14886408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker 安装MySQL 5.7(超详细文图说明及MySQL配置)](https://blog.csdn.net/weixin_43956484/article/details/116499061)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eeenkidu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值