当前位置: 首页> 健康> 知识 > 北京软件开发平均工资_上海贸易公司有哪些_郑州网站推广技术_网络营销什么意思

北京软件开发平均工资_上海贸易公司有哪些_郑州网站推广技术_网络营销什么意思

时间:2025/7/9 4:26:15来源:https://blog.csdn.net/sunyuhua_keyboard/article/details/147188263 浏览次数:1次
北京软件开发平均工资_上海贸易公司有哪些_郑州网站推广技术_网络营销什么意思

mysql_data 持久化挂载到宿主机,并防止 MySQL 数据在容器重启后丢失。

步骤 1:编辑 docker-compose.yml

  1. 打开你的 docker-compose.yml 文件并进行以下修改:

    • 确保 volumes 部分将 MySQL 数据目录 /var/lib/mysql 持久化到宿主机的 mysql_data 目录。
    version: '3.8'services:mysql:image: mysql:8.0container_name: mysql8restart: unless-stoppedenvironment:MYSQL_ROOT_PASSWORD: 123456ports:- "3306:3306"volumes:- ./mysql_data:/var/lib/mysql  # 持久化数据到宿主机的 mysql_data 目录volumes:mysql_data: {}  # 创建名为 mysql_data 的卷,用于持久化数据
    
  2. 解释修改

    • ./mysql_data:/var/lib/mysql: 这里我们将宿主机的 mysql_data 目录挂载到容器中的 /var/lib/mysql 目录。这个目录是 MySQL 存储数据的地方。使用 ./mysql_data 会将数据保存在宿主机的当前目录中的 mysql_data 文件夹里,确保数据持久化。
    • volumes: mysql_data: {}:这行代码创建了一个名为 mysql_data 的命名卷,Docker 会自动管理此卷。你也可以使用本地目录来存储数据,方法在上面的配置中已经给出。

步骤 2:检查并创建 mysql_data 文件夹

如果你决定将 MySQL 数据存储在宿主机的 mysql_data 文件夹中,确保该文件夹在宿主机上存在并且拥有适当的权限。如果文件夹不存在,Docker 会自动创建它,但你可以提前检查。

  1. 在你的项目目录下创建 mysql_data 文件夹:

    mkdir mysql_data
    
  2. 检查权限
    确保宿主机上的 mysql_data 目录具有适当的权限,以便 MySQL 容器能够读写数据。

    sudo chown -R 999:999 mysql_data/
    

    其中 999:999 是 MySQL 默认的用户和组 ID,你也可以根据你的系统调整这个值。

步骤 3:停止并重启 Docker Compose

  1. 停止当前的 Docker Compose 服务并移除容器(如果已经启动):

    docker-compose down
    
  2. 然后重新启动服务:

    docker-compose up -d
    

    这将根据更新后的 docker-compose.yml 文件重新启动 MySQL 容器,并挂载数据卷。

步骤 4:验证挂载是否成功

  1. 使用 docker ps 命令确认容器是否正在运行:

    docker ps
    
  2. 查看 MySQL 容器的日志,确保没有错误:

    docker logs mysql8
    

    如果看到类似以下输出,说明 MySQL 已成功启动:

    2025-01-01T00:00:00.000000Z 0 [Note] mysqld: ready for connections.
    
  3. 你也可以进入 MySQL 容器并验证数据是否持久化:

    docker exec -it mysql8 bash
    

    然后进入 MySQL 客户端:

    mysql -u root -p
    

    输入密码 123456 进行登录。

    查看数据库内容:

    SHOW DATABASES;
    
  4. 确保数据库和数据表已经正确创建,并且数据存储在宿主机的 mysql_data 文件夹中。

步骤 5:查看宿主机中的数据

  1. 在宿主机上,查看 mysql_data 文件夹中的内容,确保数据库数据文件被保存在其中。

    ls -l ./mysql_data
    

    你应该会看到类似于以下的 MySQL 数据文件:

    -rw-r----- 1 999 999  4096 Jan 1 00:00 ./mysql_data/ibdata1
    -rw-r----- 1 999 999  16384 Jan 1 00:00 ./mysql_data/ib_logfile0
    -rw-r----- 1 999 999  16384 Jan 1 00:00 ./mysql_data/ib_logfile1
    

结论:

  1. 通过上述步骤,你已经正确配置了 mysql_data 持久化挂载,确保了容器重启后数据不会丢失。
  2. 数据被保存在宿主机的 mysql_data 目录下,容器重启时可以恢复并保留数据。
关键字:北京软件开发平均工资_上海贸易公司有哪些_郑州网站推广技术_网络营销什么意思

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: