尝试重新定位Wordpress数据库,并且一直在运行这个问题。
尝试所有正常的东西,让它工作优化,修复等,并尝试用几个工具(Sequel pro等)和ssh导入它。
在几个表格中发生问题,并且可以看到其他表格具有相同的问题。因为我不能导入任何副本,我需要一些专业知识建议如何在phpmyadmin或ssh中解决这个问题。
错误消息
#mysql -u -p db < /tmp/file.sql
> ERROR 1064 (42000) at line 109088: You have an error in your SQL
> syntax; check the manual that corresponds to your MySQL server version
> for the right syntax to use near '<!
> <div class="error"><h1>Error</h1> <p><strong>SQL query:</strong> <a href=' at line 1
我真的不知道如何处理它,因为我在整个数据库中都发现了这一点 喜欢
<image:caption><![CDATA
有什么建议吗?
答案 0 :(得分:0)
因为&#34;所有正常的东西&#34;没有工作......
我会猜测,你是一个正在运行的东西,以及#34;复制&#34;数据库表的内容,或者你正在做某种&#34;转储&#34;或&#34;出口&#34;这会创建SQL语句。
针对目标运行的SQL语句会引发错误。
我们无法告诉(我们在哪里以及我们所看到的)您实际在做什么,我们只是在猜测。
两种最有可能的可能性:
您使用的任何工具都不希望复制的列值可能包含需要转义的值&#34;如果该值包含在SQL语句的文本中。例如,假设我有一个像这样的列值:
I'd like a pony
如果我抓住了这个值,我天真地将它粘贴到SQL语句的文本中,而不考虑它可能包含的任何字符,例如。
INSERT INTO foo (bar) VALUES ('I'd like a pony');
如果我尝试执行该语句,MySQL将抛出语法错误。 MySQL将会看到一个值为'I'
的字符串文字(作为字符串一部分的单引号现在被视为字符串文字的结尾.MySQL将标记下面的语法错误d like a pony
。
当我们从中获取值并从中构建SQL语句时,我们必须正确地转义值。在此示例中,用于重现该字符串值的insert语句可能如下所示:
INSERT INTO foo (bar) VALUES ('I''d like a pony');
^^
如果这正是发生的事情,你可以感谢列值并没有包含更恶毒的内容......
Robert'); DROP TABLE students; --
但是没有看到正在执行的实际SQL语句,这只是猜测导致问题的原因。
是否有某种指南或某些说明,您要关注&#34;重新定位Wordpress DB&#34;哪些文件&#34;所有正常的东西&#34;你在做什么?
<强>后续强>
编辑了问题以添加此信息:
mysql -u -p db < /tmp/file.sql
这里重要的是file.sql
的内容。
这个问题最有可能出现在所有正常的东西中。正在制作该文件。该部分有效地被破坏,因为它不期望提取的列值可以包含单引号字符,并且在将值合并到SQL INSERT语句的文本之前不能正确地转义该值。