简体   繁体   English

将 drupal 数据库从实时服务器导入本地 ddev 时出现奇怪的错误

[英]Strange error when importing drupal database from live server to local ddev

I host my site on bluehost.我在 bluehost 上托管我的网站。 I use ssh mysqldump to export database.我使用 ssh mysqldump 导出数据库。 It is unzipped or tarred.它已解压缩或涂焦油。 Then I use the ddev import-db然后我使用 ddev import-db

and this is the error I get这是我得到的错误

ddev import-db --src=.tarballs/xxx4_2_2022.sql ERROR at line 4200: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. ddev import-db --src=.tarballs/xxx4_2_2022.sql 错误在第 4200 行:ASCII '\0' 出现在语句中,但这是不允许的,除非选项 --binary-mode 被启用并且 mysql 在非交互模式。 Set --binary-mode to 1 if ASCII '\0' is expected.如果需要 ASCII '\0',则将 --binary-mode 设置为 1。 Query: ''.询问: ''。 Failed to import database db for xxx9: ComposeCmd failed to run 'COMPOSE_PROJECT_NAME=ddev-xxx9 docker-compose -f C:\Users\xxx\ddev\xxx9.ddev.ddev-docker-compose-full.yaml exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*. sql | perl -p -e 's/^(CREATE DATABASE /*|USE )[^;]*;//' | mysql db)', action='[exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*.*sql | perl -p -e 's/^(CREATE DATABASE \/\*|USE Failed to import database db for xxx9: ComposeCmd failed to run 'COMPOSE_PROJECT_NAME=ddev-xxx9 docker-compose -f C:\Users\xxx\ddev\xxx9.ddev.ddev-docker-compose-full.yaml exec -T db bash -c设置 -eu && ( mysql -uroot -proot -e "如果数据库存在则删除数据库;如果数据库不存在则创建数据库;在 db.* 上授予所有权限。* 到 'db'@'%';" && pv /mnt/ddev_config/. importdb3401067882/*. sql | perl -p -e 's/^(CREATE DATABASE /*|USE )[^;]*;//' | mysql db)', action='[exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*.*sql | perl -p -e 's/^(CREATE DATABASE \/\*|USE )[^;]*;//' | mysql db)', action='[exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*.*sql | perl -p -e 's/^(CREATE DATABASE \/\*|USE )[^;] ;//' | )[^;]*;//' | mysql db)', action='[exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*.*sql | perl -p -e 's/^(CREATE DATABASE \/\*|USE )[^;] ;//' | mysql db)]', err='exit status 1', stdout='', stderr='ERROR at line 4200: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. mysql db)]', err='exit status 1', stdout='', stderr='ERROR at line 4200: ASCII '\0' 出现在语句中,但这是不允许的,除非选项 --binary-mode 是启用并且 mysql 在非交互模式下运行。 Set --binary-mode to 1 if ASCII '\0' is expected.如果需要 ASCII '\0',则将 --binary-mode 设置为 1。 Query: ''.'询问: ''。'

the site seems to be functional after failed import...everything works fine...but still I am concerned and how would I fix this?导入失败后,该网站似乎可以正常工作...一切正常...但我仍然担心,我该如何解决这个问题? I am on win 11, using gitbash and cmder我在 win 11 上,使用 gitbash 和 cmder

and the site is drupal 9 latest网站是 drupal 9 最新

the solution is to use different db import command in ddev解决方案是在 ddev 中使用不同的 db import 命令

instead ddev import-db --src=.tarballs/junk.sql改为 ddev import-db --src=.tarballs/junk.sql

you should use你应该使用

ddev import-db <db.sql or ddev import-db <.tarballs/db.sql ddev import-db <db.sql 或 ddev import-db <.tarballs/db.sql

thank you RFAY!谢谢你!

For some reason the first command gives me that error, maybe because I am on WIN and not LINUX?出于某种原因,第一个命令给了我这个错误,可能是因为我在 WIN 而不是 LINUX?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM