06、docker 安装mysql8

本文详细介绍了如何使用Docker下载并启动MySQL8.0.32镜像,配置数据挂载、安全设置,创建启动脚本,以及在容器中管理权限和数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker 安装 MySQL8

  1. 下载mysql8的镜像

    docker pull mysql:8.0.32
    
  2. 启动镜像

    docker run -p 3307:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.32
    
  3. 配置挂载

    1. 创建挂载目录

      mkdir -p /docker/mysql8.0.32/
      
    2. copy配置文件到创建的目录下

      docker cp  mysql:/etc/mysql /docker/mysql8.0.32/
      
  4. 删除原有容器

    docker stop mysql8
    docker rm -f mysql8
    
  5. 启动mysql挂载配置文件,数据持久化到宿主机

    1. 新增my.cnf

      cd /docker/mysql8.0.32/mysql/conf.d
      vim my.cnf
      

      my.conf

      [mysqld]
      user=mysql
      character-set-server=utf8
      default_authentication_plugin=mysql_native_password
      secure_file_priv=/var/lib/mysql
      expire_logs_days=7
      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
      max_connections=1000
       
      [client]
      default-character-set=utf8
       
      [mysql]
      
      
  6. 创建一个sh脚本、把docker启动mysql的命令放到脚本里面。

    vim docker_mysql8.0.32.sh
    

    脚本内容:

    #!/bin/sh
    docker run \
    -p 3306:3306 \
    --name mysql8 \
    --privileged=true \
    --restart unless-stopped \
    -v /docker/mysql8.0.32/mysql:/etc/mysql \
    -v /docker/mysql8.0.32/logs:/logs \
    -v /docker/mysql8.0.32/data:/var/lib/mysql \
    -v /etc/localtime:/etc/localtime \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:8.0.32
    

    解释:

    -p 端口映射 
    
    --name mysql8  名称是mysql8
    
    --privileged=true 挂载文件权限设置
    
    --restart unless-stopped 设置 开机后自动重启容器
    
    -v /docker/mysql8.0.32/mysql:/etc/mysql \ 挂载配置文件【路径是上面创建的挂载路径】
    
    -v /docker/mysql8.0.32/logs:/logs \  挂载日志【路径是上面创建的挂载路径】
    
    -v /docker/mysql8.0.32/data:/var/lib/mysql \ 挂载数据文件 持久化到主机【路径是上面创建的挂载路径】
    
    -v /etc/localtime:/etc/localtime 容器时间与宿主机同步
    
    -e MYSQL_ROOT_PASSWORD=123456 设置密码
    
    -d mysql:8.0.32 后台启动,mysql
    
  7. 执行脚本

    sh docker_mysql8.0.32.sh
    
  8. 检查是否启动成功

    docker ps
    
  9. 配置链接信息

    1. 进入mysql8容器

      docker exec -it mysql8 bash
      
    2. 在容器内登录

      mysql -uroot -p
      
    3. 设置权限

      grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
      
      use mysql
      
      ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
      
      ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
      
      FLUSH PRIVILEGES;
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

这个昵称不容易

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

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

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

打赏作者

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

抵扣说明:

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

余额充值