使用navicat连接备份数据库

声明:使用该教程所导致的任何问题,项目组概不负责

  1. 修改YML代码,取消DB数据库板块端口注释,代码如下
  db:
    image: nanjiren01/aichat-db:latest
    container_name: aichat-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      TZ: Asia/Shanghai
    ports:
      - "3310:3306"
    volumes:
      - ./mysql_data:/var/lib/mysql

3310:3306 外部访问端口:容器内部端口
外部访问端口可自行修改,容器内部端口不可更改

  1. 服务器跟IDC防火墙放行3310端口,必须放行,否则无法连接

  2. 安装navicat软件(自行下载软件)[软件下载(Aliyun)](Navicat16
    阿里云盘分享
    )

破解版软件不保证安全性,风险自负

  1. 连接数据库
  • 测试连接成功
    image

  • 导出完整数据库

  • 下图错误:服务器连接错误,自行检查防火墙以及端口是否开放
    image

再次声明此操作风险自负,服务器每开放一个服务端口,对于服务器的安全性,运维都是巨大的挑战

推荐备份方式

1. 停止Docker服务

docker compose down

2、备份数据库

mysql_data 目录备份

方法一:直接在服务器上进行备份

温馨提示

请执行此操作之前,先进入存在 mysql_data 的目录,以确保能顺利完成备份。

cp -r mysql_data <备份的目标路径>

方法二:使用支持SFTP的软件从服务器备份至本地

还有aichat数据库名称不能修改,修改导致项目无法启动,自行解决。

其实也可以直接用vscode的ssh连上服务器,然后Attach数据库容器到vscode,然后用数据库插件管理数据库,这样就不需要放行端口了,安全性更高一些,就是麻烦一点

1 个赞