问题标签 [mysql-error-1146]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 由于跨数据库引用而复制数据库时出错 - 表不存在
我们在收集一些测量数据的服务器上运行 mysql v5.0.77。
在 mysql 服务器上,我们有以下数据库:
raw_data_db
config_tables_db
处理 的_data_db
我们只想复制使用来自“raw_data_db”和“config_tables_db”的信息构建的“processed_data_db”。
当我们的从属服务器尝试复制构建已处理数据的语句时,我们不断收到错误消息。
例子:
[ERROR] Slave: Error 'Table 'raw_data_db.s253' doesn't exist' on query. Default database: 'data'. Query: 'CREATE TEMPORARY TABLE temp SELECT * FROM raw_data_db.s253 WHERE DateTimeVal>='2011/04/21 17:00:00' AND DateTimeVal<='2011/04/21 17:10:00'', Error_code: 1146
我假设正在发生的是跨数据库选择找不到原始数据库,因为我们没有复制它,并且数据不存在于从属设备上……或者类似的东西?
所以我尝试使用忽略,但我们仍然收到错误
replicate-wild-ignore-table = raw_data_db.*
replicate-wild-ignore-table = data.temp*
其他配置信息:
replicate-rewrite-db = processes_data_db->data
replicate-do-db = data
如果所有表都是从对其他数据库的引用创建的,是否可以只复制一个数据库?有关如何解决此错误的任何想法?
我研究了基于行的复制,这似乎可以解决问题,但它仅在 v5.1 或更高版本中可用......在早期版本中是否有类似的东西?
我将忽略表语句修复为“data.%temp%”,它似乎忽略得很好,但我仍然无法复制我想要的表,因为插入语句现在引用了一个不存在的表。
前任。
Error 'Table 'data.temp' doesn't exist' on query. Default database: 'data'. Query: 'INSERT INTO abc SELECT FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(DateTimeVal))), ROUND(AVG(Difference),3), ROUND(STDDEV(Difference),3), ROUND(AVG(Frequency),0), ROUND(AVG(SignalPower),1) FROM temp WHERE ABS(Difference)<'10000.0' AND Difference!='0''
处理是从原始数据库创建临时表,然后对临时表中的所有值进行平均并将结果插入到 processes_data_db,但由于我忽略了创建语句,它无权访问这些表,但是我首先忽略它们的原因是因为它们引用了我想要复制的表之外的表......所以我不确定我应该如何处理这个......任何建议将不胜感激。
mysql - InnoDB 表存在于 MySQL 中,但表示将数据库复制到新服务器后它们不存在
我使用 mysqldump 导出数据库,然后将其导入到另一台服务器上的 MySQL。如果我“显示表格”,我现在可以看到我的所有表格,但我实际上无法从中选择或描述其中任何一个。
错误 1146 (42S02):表 'mydatabase.user' 不存在
我所有的表都是 InnoDB。我看到人们在使用 old_passwords 时遇到的一个问题,因此我在 my.cnf 中明确将其设置为 0,并确保 mysql 表中的所有密码都是 41 位十六进制数字,因为它们应该是新密码。
mysql - Libmysqld 在启动时崩溃
我尝试使用 MySQL 嵌入式服务器创建一个非常简单的应用程序。我基本上从 MySQL 文档中拿了一个简单的例子,并对其进行了一些修改。
在启动时
被记录并InnoDB
初始化。之后应用程序在mysql_init
. 针对 libmysqld-debug 链接我收到以下错误消息:
我使用来自 MySQL 网站(64 位)的与社区服务器 TAR-Archive for Mac OS X 一起分发的静态 libmysqld(-debug) 库。
php - Magento - 基表core_file_storage不存在
当我查看我的 Magento 存储的错误日志时,它充满了这些错误:
有谁知道如何解决这个问题?
mysql - 漏洞?#1146 - 表 'xxx.xxxxxx' 不存在
我正在使用 Windows XP。我正在使用其内置的创建表功能在 phpMyAdmin 中创建一个表,我的数据库名称是ddd
.
它生成以下代码:
并出现以下错误:
可能是什么问题?
php - 错误或 php + mysql 代码出现在用户面前。可以提取哪些信息以及如何防止这种情况?
我在 Xampp 上使用 eclass 平台。当您直接访问像 www.domain.com/eclass/document.php 这样的文件而不遵循通过站点导航时,您会得到这个。
用户可以提取哪些信息,如何避免它以及这对系统有多大危害?
mysql - 在 MySQL 中创建表
我在“database_name”中创建了一个表 license_serial。但是当我尝试创建第二个名为 license 的表时,它说它已经存在。
这是为什么 ?我的数据库只包含一个 license_serial.frm 和一个 db.opt。
创建第二个表:
给出以下错误消息:
编辑:
解决方案是这样的(按此顺序):
mysql - 试图删除数据库,但说数据库 dosnt 存在,即使我可以使用它
发生了这个奇怪的错误,我正在尝试清理我没有使用的数据库。但是,当我尝试删除 mysql 时,它说数据库 dosnt 存在,但是我可以使用它!奇怪还是什么?!我有什么办法可以从我的列表中删除这个数据库。
mysql - SQL SHOW TABLES 列出了一堆表,但不能用它们选择(没有这样的表)
我有一个名为的数据库apsc
,如果我SHOW TABLES;
在它上面运行,结果如下:
但是,如果我运行,SELECT * FROM aps_application
我会得到:
在我的/var/lib/mysql/apsc/
目录中有一堆 .frm 文件,这让我相信这些表是 InnoDB。但是,如果它们只是在数据/日志文件中损坏或丢失,/var/lib/mysql/apsc/ibdata1
它们应该显示为table in use
或不显示,因为我最近在其他 InnoDB 表中遇到了这个问题。
我相信这些表是 Plesk 的一部分,因为我在某些时候被数据库文件覆盖并收到有关缺少视图 aps_application 的错误。Plesk 现在工作正常,所以我怀疑表已损坏。
此外,SHOW CREATE TABLE aps_application
两者SHOW CREATE VIEW aps_application
都失败并出现与 select 相同的错误。
编辑:我以具有完全权限的 root 身份登录。为了检查这一点,我切换了表格并且 SELECT 就像一个魅力一样工作。此外,如果我在 phpMyAdmin 中并选择此数据库,它会显示 0 个表,除非我运行 SHOW TABLES;在 SQL 选项卡中;
mysql - 在存储过程中使用变量作为列名?
这里我写了一个mysql程序,它选择text
指定数据库'wp'的所有类型字段
我想通过CONCAT函数更新每个附加额外字符串的文本类型字段行。
在我调用 test2后,错误显示:
mysql 将_tbl视为字符串而不是变量。
那我可以纠正这个吗?
代码: