問題タブ [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
processing_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
私が想定しているのは、データベースを複製していないため、クロスデータベースの選択が生のデータベースを見つけることができず、データがスレーブに存在しないということです...またはそれらの線に沿ったものですか?
そのため、ignoreを使用してみましたが、まだエラー
replicate-wild-ignore-table = raw_data_db.*
が 発生しています。
その他の構成情報:
replica-rewrite-db = processing_data_db->data
replica-do-db = data
すべてのテーブルが他のデータベースへの参照から作成されている場合、1 つのデータベースだけを複製することは可能ですか? このエラーを回避する方法についてのアイデアはありますか?
行ベースのレプリケーションを調べましたが、うまくいくように見えましたが、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''
処理では、生のデータベースから一時テーブルを作成し、一時テーブルのすべての値を平均して結果をprocessed_data_dbに挿入していますが、createステートメントを無視しているため、それらのテーブルにアクセスすることはできませんが、そもそもそれらを無視している理由は、複製したいもの以外のテーブルを参照しているためです...だから、これにどのようにアプローチすべきかわかりません....どんな提案でも大歓迎です。
mysql - InnoDBテーブルはMySQLに存在しますが、データベースを新しいサーバーにコピーした後は存在しないと言います
mysqldumpを使用してデータベースをエクスポートしてから、他のサーバーのMySQLにインポートしました。「テーブルを表示」を実行すると、すべてのテーブルを表示できるようになりましたが、実際にそれらのいずれかを選択したり、説明したりすることはできません。
エラー1146(42S02):テーブル'mydatabase.user'は存在しません
私のテーブルはすべてInnoDBです。old_passwordsを使用しているときに問題が発生したことがあるので、my.cnfで明示的に0に設定し、mysqlテーブルのすべてのパスワードが新しいパスワードの場合と同じように41桁の16進数であることを確認しました。
mysql - 起動時に Libmysqld がクラッシュする
MySQL組み込みサーバーを使用して非常に単純なアプリケーションを作成しようとしました。基本的に、MySQL のドキュメントから簡単な例を取り上げて、少し修正しました。
始めるとき
ログに記録され、InnoDB
初期化されます。その後、アプリが でクラッシュしmysql_init
ます。libmysqld-debug にリンクすると、次のエラー メッセージが表示されます。
MySQL Web サイト (64 ビット) から Mac OS X 用のコミュニティ サーバー TAR-Archive と共に配布されている静的な libmysqld(-debug) ライブラリを使用します。
php - Magento-ベーステーブルcore_file_storageは存在しません
Magentoストアのエラーログを見ると、次のエラーでいっぱいです。
誰もがこれを解決する方法を知っていますか?
mysql - バグ?#1146 - テーブル 'xxx.xxxxx' が存在しません
Windows XP を使用しています。組み込みのテーブル作成機能を使用して、phpMyAdmin でテーブルを作成しています。データベース名はddd
.
次のコードが生成されます。
次のエラーが表示されます。
何が問題なのですか?
php - エラーまたはphp+mysqlコードがユーザーに表示されます。どのような情報を抽出でき、これを防ぐ方法は?
Xamppでeclassプラットフォームを使用しています。www.domain.com/eclass/document.phpのようなファイルに直接アクセスし、サイト全体のナビゲーションに従わないと、これが表示されます。
ユーザーはどのような情報を抽出できますか、それを回避する方法と、これはシステムにどの程度有害ですか?
mysql - MySQL でのテーブルの作成
"database_name" にテーブル license_serial を作成しました。しかし、license という名前の 2 番目のテーブルを作成しようとすると、既に存在すると表示されます。
何故ですか ?私のデータベースには、license_serial.frm と db.opt しか含まれていません。
2 番目のテーブルの作成:
次のエラー メッセージが表示されます。
編集:
そして解決策はこれです(この順序で):
mysql - データベースを削除しようとしていますが、データベースは使用できますが存在しないと言っています
使用していないデータベースをクリーンアップしようとしているときに、この奇妙なエラーが発生しました。ただし、mysqlを削除しようとすると、データベースdosntが存在すると表示されますが、使用できます。奇妙なのか?私のリストからこのデータベースを取り除くための方法。
mysql - SQL SHOW TABLES は一連のテーブルをリストしますが、それらを SELECT できません (そのようなテーブルはありません)
と呼ばれるデータベースがapsc
あり、それを実行SHOW TABLES;
すると、次の結果が得られます。
ただし、実行すると、次のようSELECT * FROM aps_application
になります。
私の/var/lib/mysql/apsc/
ディレクトリには、これらのテーブルが InnoDB であると思わせる .frm ファイルがたくさんあります。ただし、最近他の InnoDB テーブルでその問題が発生したため、それらが単に破損しているか、データ/ログ ファイルから欠落している場合は、/var/lib/mysql/apsc/ibdata1
表示されるtable in use
かどうかに関係なく表示されるはずです。
これらのテーブルは Plesk の一部であると考えられます。ある時点でデータベース ファイルによって上書きされ、ビュー aps_application が見つからないというエラーを受け取ったからです。Plesk は現在正常に動作しているため、テーブルが破損しているとは思えません。
また、SHOW CREATE TABLE aps_application
どちらSHOW CREATE VIEW aps_application
も select と同じエラーで失敗します。
編集: 完全な権限を持つ root としてログインしています。これを確認するために、テーブルを切り替えたところ、SELECT がうまく機能しました。また、phpMyAdmin でこのデータベースを選択すると、SHOW TABLES を実行しない限り 0 テーブルが表示されます。[SQL] タブで;
mysql - ストアドプロシージャの列名として変数を使用しますか?
text
ここでは、指定されたデータベース'wp'のすべてのタイプフィールドを選択するmysqlプロシージャを作成しました
そして、 CONCAT関数を介して余分な文字列を追加するすべてのテキストタイプフィールド行を更新したいと思います。
test2を呼び出した後、エラーが表示されます。
mysqlは_tblを文字列と見なしますが、変数とは見なしません。
だから私はこれを修正できますか?
コード: