跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 将 VPS 上 drupal 网站迁移到 docker,导入数据库后网站打不开.求大家指导
未分類
29 3 月 2020

将 VPS 上 drupal 网站迁移到 docker,导入数据库后网站打不开.求大家指导

将 VPS 上 drupal 网站迁移到 docker,导入数据库后网站打不开.求大家指导

資深大佬 : programV2 68

以下是我的操作步骤: (请 V 友们帮我看看怎么排查问题, 弄了两天了还是搞不定, 谢谢

1.在 VPS 上的运行 Docker 环境,配置(php7.2+mysql5.7+ngninx1.12)环境, docker compose 好后上传一个全新的 drupal8 安装包安装测试,安装过程中没有出现异常提示, 说明环境搭建正常。
2. 安装时设置网站和数据库信息,将本地所有文件和目录按原结构上传到 docker 相应容器挂载目录,mysql 将备份数据库文件导入;
3. 修改 /sites/default/settings.php 文件中的数据库用户名、数据库表、数据库密码。

谢谢大家, 祝大家春节快乐!

大佬有話說 (31)

  • 資深大佬 : manami

    More detail…看日志报错信息,一些目录文件的写入 /读取权限是否给了?修改配置文件后是否重启了相关服务?

  • 資深大佬 : sleepm

    你把报错贴出来才能帮你排查问题

  • 主 資深大佬 : programV2

    @manami 谢谢. 相关目录及文件权限都给了, 也重启了好几次,
    @sleepm 谢谢. 浏览器报错如下, 一会我把日志贴上来,

    An error occurred.

    Sorry, the page you are looking for is currently unavailable.
    Please try again later.

    If you are the system administrator of this resource then you should check the error log for details.

    Faithfully yours, nginx.

  • 資深大佬 : gefranks

    看下 aceess log,ngnix 默认的网页是不是设好了 在 nginx.conf 里

  • 資深大佬 : manami

    @programV2 看 nginx 日志,不是页面错误信息。或者,开 ssh 让我上去看看 / 狗头

  • 主 資深大佬 : programV2

    谢谢 V 友们, @gefranks @manami @sleepm 虽然我重新搭建导入数据库后网站可以打开, 但由于原来老网站开启了 reCAPTCHA 模块, 旧域名弃用了, 现在进不了后台了, 连后台密码也忘记了, 我访问容器登陆数据库尝试关闭模块, 执行 UPDATE system SET status = 0 WHERE name = “recaptcha”; 出现如下错误 :

    ERROR 1146 (42S02): Table ‘drupal.system’ doesn’t exist,

    我的数据库名 是 drupal , 是我这个命令写错了吗?

    另外请教 V 友们 你们是如何在 docker 上安装 drush 的, 谢谢!

  • 資深大佬 : sleepm

    这个错误是说 drupal.system 这个表不存在,也就是你可能没有把数据库恢复回去
    或者你进 mysql 之后没有执行 use drupal;
    数据库基础。。。

  • 資深大佬 : sleepm

    一步一步把你不懂的东西,转换成你懂的东西,就比如英文报错,慢慢你就能自己找到解决方法

  • 主 資深大佬 : programV2

    @sleepm 谢谢 V 友指点, 但我执行了 mysql -u user -p drupal 已经选中了数据库呀

    我第一次接触 Drupal 并且官方文档没有 docker 内容,网上关于这个的内容也很少,找不到一个可以参考的,

  • 資深大佬 : sleepm

    那你就看看 docker 的知识吧。。重点不是 drupal on docker,是 docker

  • 主 資深大佬 : programV2

    @sleepm 请问 Drupal 关闭 recaptcha 模块是在 System 这个表吗?如何查看在哪个 table 关闭 recaptcha 模块?

  • 主 資深大佬 : programV2

    @sleepm 确认已经有把数据库恢复回去了,不然网站上内容都会是空的,现在是由于这个 recaptcha +忘了后台密码就进不了后台的

  • 主 資深大佬 : programV2

    @sleepm 查看文档也是用 UPDATE system SET status = 0 WHERE name = “recaptcha”; 不知道为什么提示表名不存在? system table 有不同的名称?

  • 資深大佬 : merryfreespace

    For D8:

    1. remove module
    2. truncate table cache_config

  • 資深大佬 : sleepm

    不要看网站有内容数据库就恢复回去了,你要在 mysql 里 show tables;
    drupal 我不懂,但是 docker 我知道

  • 主 資深大佬 : programV2

    @merryfreespace thank you for your help. in this case i would like to disable captcha module manually in the database, reCaptcha has blocked me out of admin panel of my website, now i have access to my server and database thru SSH, when i ran command:
    UPDATE system SET status = 0 WHERE name = “recaptcha”;

    Seeing an error
    “ERROR 1146 (42S02): Table ‘drupal.system’ doesn’t exist,

    When i ran the following command to show table , i can not find the table named “system” of 131 rows in set:
    select table_name from information_schema.tables where table_schema=’drupal’ and table_type=’base table’;

    So wondering if I use the right table name? how to find the exact system table name to disable captcha module in Drupal ? my Drupal version is 8.5.5 Thank you very much.

  • 主 資深大佬 : programV2

    @merryfreespace when i ran command to show database, it looks like :
    | information_schema |
    | drupal |
    +——————–+
    2 rows in set

  • 主 資深大佬 : programV2

    @sleepm 谢谢

  • 資深大佬 : sleepm

    大哥
    mysql> show tables;
    如果列出来有 system 那就看下面的
    drush cache-clear
    http://alejandro.bio/node/113

  • 主 資深大佬 : programV2

    @sleepm 是的, 我就是执行 show tables; 没有看到任何包含 System 的记录,这个可能是什么原因呢?

  • 資深大佬 : sleepm

    备份数据库文件是.sql 还是 mysql/data 目录
    是 sql 的话,你打开看有没有 system 表,没有的话,重装 drupal 吧,然后原来的文章啥的,直接把数据表替换掉

  • 主 資深大佬 : programV2

    @sleepm 谢谢大佬, 我备份的数据库文件是 .sql , 打开看没有 system 表, 请问我重装 drupal 后该怎么操作? 把数据表替换成什么?

  • 資深大佬 : sleepm

    安装一个新的 drupal,然后备份数据库,把备份出来的 sql 和前面备份的做 diff,
    然后找出你的文章之类的,把那些 sql 语句复制出来,弄一个新的.sql ,再做导入

  • 主 資深大佬 : programV2

    @sleepm 我的备份数据库应该是成功导入了, 因为我尝试用网站上的站内搜索功能, 一切正常的, 所以现在问题是我该在哪个数据表关闭模块? 谢谢. 祝好.

  • 資深大佬 : sleepm

    http://alejandro.bio/node/113

  • 主 資深大佬 : programV2

    @sleepm 谢谢

  • 資深大佬 : sleepm

    其他方法也是搞数据库,把缺失的表补回去

  • 主 資深大佬 : programV2

    @sleepm 谢谢! 我用 cat drupal/backup.sql | docker exec -i drupal8_mysql /usr/bin/mysql -u root –password=password drupal 导入数据库和下面这种方式有什么区别吗?
    docker exec -i drupal8_mysql /usr/bin/mysql -u root –password=password drupal < drupal/backup.sql

  • 資深大佬 : sleepm

    如果结果都一样,应该没啥区别。。
    | 是管道符
    < 是重定向符号

  • 資深大佬 : merryfreespace

    Drupal 8 没有 system table.

    删除掉 recaptcha module
    truncate table cache_config 用来清空缓存表的

    如果你熟悉 drupal console:
    Disable module
    ./vendor/bin/drupal mou module_name

    Enable module
    ./vendor/bin/drupal moi module_name

    Drush 命令上面有人介绍了。

  • 主 資深大佬 : programV2

    @merryfreespace 非常感谢 V 友的帮助!! 我试着把 recaptcha 和 captcha 两个文件夹都删除掉了, 然后进入数据库执行了下列命令清除缓存, 并重启所有容器, 但是 captcha 错误提示还是出现(见附图)
    TRUNCATE cache_config;
    TRUNCATE cache_container;
    TRUNCATE cache_data;
    TRUNCATE cache_default;
    TRUNCATE cache_discovery;
    TRUNCATE cache_dynamic_page_cache;
    TRUNCATE cache_entity;
    TRUNCATE cache_menu;
    TRUNCATE cache_render;
    TRUNCATE cache_toolbar;

    附图:![PNG]( https://i.loli.net/2020/01/23/OFRub36ecsyAJfD.png)

    已多次重启本地电脑和浏览器使用隐私模式

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具