# 本地数据迁移 COS

# 概述

本文将指导您如何通过 COS 回源方式将 Discuz! Q 本地数据迁移至腾讯云 COS 对象存储。

TIP

若您使用 Discuz! Q 中途开启对象存储,您可参考本文进行操作。

# 前提条件

  • 已成功创建并配置腾讯云服务对象存储。详情参见:对象存储设置

# 操作指南

# 步骤1:配置对象存储 COS 回源

  1. 登录 对象存储控制台 (opens new window) 存储桶列表页。
  2. 在对象存储列表中选择您在 配置腾讯云服务对象存储 时的存储桶并单击【配置管理】。如下图所示:

  1. 在存储桶设置页,依次单击【基础配置】>【回源设置】进入回源设置页。
  2. 单击【添加回源规则】。如下图所示:

  1. 在弹出的“添加回源规则”窗口中,勾选并填写以下信息,并单击【下一步】。

  • 回源条件:请勾选【文件名前缀】并输入 storage/
  • 回源协议:请勾选【跟随请求协议】。
  • 请求参数:勾选【不透传】。
  • 透传指定请求头部:默认不输入。
  • 新增请求头部:默认不输入。
  1. 在源站设置处,勾选并填写以下信息,并单击【下一步】。如下图所示:

  • 回源地址:填写您的网站域名地址。如:discuz.com
  • 备份回源地址:不开启。
  • 同步回源:请勾选【关闭】。
  • 3xx跟随策略:请勾选【开启】。

7.确认信息无问题后,单击【下一步】即可完成配置对象存储 COS 回源操作。如下图所示:

# 步骤2:修改 Discuz! Q 站点数据库数据

TIP

本文以宝塔终端修改数据库数据方式为例。

  1. 使用终端登录 MySQL 服务。您可以通过以下命令进行登录。
mysql -u <数据库用户名> -p <数据库密码> 
  1. 登录成功后,您可使用 use <Discuz! Q 站点数据库名> 操作 Discuz! Q 站点数据库。如您的 Discuz! Q 站点数据库名为 study 。则为:use study

  1. 使用以下命令修改数据库 attachments 表,即可完成修改 Discuz! Q 站点数据库数据操作。如下图所示:
update `<表前缀_>attachments` set file_path=replace(file_path,'public','storage') where is_remote=0; 
update `<表前缀_>attachments` set is_remote=1;

::: 若是您在安装部署 Discuz! Q 设置了表前缀,请替换为您的表前缀名称。若无,请直接删除<表前缀_>。 :::

# 步骤3:清除 Discuz! Q 站点后台缓存

  1. 登录您的 Discuz! Q 站点后台。
  2. 在后台首页,单击【清除缓存】。如下图所示:

  1. 弹出如下提示框即代表清除缓存成功。如下图所示:

# 步骤4:访问 Discuz! Q 站点回源数据

配置完成以上步骤后,请用浏览器访问一次您的Discuz! Q 站点进行回源数据。

# 步骤5:确认是否回源迁移 COS 成功

登录 对象存储控制台 (opens new window) 存储桶的文件列表页。查看是否已创建 storage文件目录。若已创建则代表回源迁移 COS 成功,若无请查看以上步骤是否设置正确,或前往 Discuz! Q 社区 (opens new window) 进行提问。