問題タブ [mysqldump]
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 - mysqldump | mysql で「開いているファイルが多すぎます」というエラーが発生します。なんで?
MySQL サーバー専用の新しいハード ドライブを備えた RHEL 5 システムを使用しています。開始するために、「mysqldump --host otherhost -A | mysql」を使用しましたが、マンページではこれを試すことを明示的に推奨していないことに気付きました (ファイルへの mysqldump は禁止されています。500G のデータベースについて話している)。
このプロセスはランダムな間隔で失敗し、開かれているファイルが多すぎると不平を言います (その時点で mysqld は関連するシグナルを取得し、停止して再生成します)。
sysctl と ulimit でアップしようとしましたが、問題は解決しません。私はそれについて何をしますか?
sql - MySQL から任意の標準準拠 SQL2003 サーバーへの移行
任意の SQL2003 準拠の RDBMS で同じデータベースを作成して埋めるために SQL2003 コードの一部を生成する mysqldump または同様のツールの呪文はありますか?
(私が今試しているのはMonetDBです)
mysqldump - mysqldumpからのレコード数を制限しますか?
大規模なデータベースからテストデータベースにレコードの小さなサンプルをロードしようとしています。
mysqldumpに800万のうちnレコードのみを提供するようにどのように指示しますか?
ありがとう
mysql - mysqldump --password は本当にそれが言うことをしますか?
私はmysqldump
スキーマをダンプするために使用しようとしていますが、ほとんどは機能しますが、1 つの好奇心に遭遇しました: -p
or--password
オプションは、パスワードの設定以外のことをしているようです (man
ページと--help
出力がそうすべきだと言っているように)。
具体的には、ここに示されていることを行っているようです: http://snippets.dzone.com/posts/show/360 - つまり、データベースをダンプするように設定します。
--password
私のやや風変わりな主張を裏付けるために、 (または-p
) オプションを指定しない場合、コマンドは使用法ステートメントを出力し、エラーで終了します。指定すると、すぐにパスワードの入力を求めるプロンプトが表示され (!)、--password
オプションで指定されたデータベースがダンプされます (通常、どのデータベース名とも一致しないパスワードが指定された場合はエラーが発生します)。
ここにトランスクリプトがあります:
それで、何が得られますか?これは、これが機能するはずの方法ですか?確かに意味がないように見えたり、公式ドキュメントと一致したりしません。そして最後に、これがうまく機能するのであれば、自動化されたジョブで使用するパスワードをどのように指定すればよいのでしょうか? 使用expect
???
を使用してmysqldump Ver 10.10 Distrib 5.0.22, for pc-linux-gnu (i486)
います。
mysql - mysqldumpを使用してアカウント間でビューを複製するにはどうすればよいですか?
mysqldumpを使用して、特定のマシンのアカウント間でデータベースを複製しています。定義されたビューに到達する場合を除いて、すべてがうまく機能します。ダンプには次のような行が含まれているため...
... user_bのmysqlにダンプをロードすると、エラーが発生します。
言うまでもなく、私はこのmysqlインスタンスに対するSUPER特権を持っていません。ユーザーに依存しない方法でビューをダンプするようにmysqldumpを説得する方法はありますか?この点については、マニュアルに何も見つかりません。ユーザー名を置き換えるために、実際にダンプファイルを解析する必要がありますか?それとも私は何かが足りないのですか?
unix - MySQL パーミッションの問題 - 問題ではないはずです
あるサーバーでパーティション化されたテーブルの mysqldump を実行し、結果の SQL ダンプを別のサーバーに移動して、挿入を実行しようとしました。失敗しますが、その理由を理解するのに苦労しています。Google と MySQL のフォーラムとドキュメントはあまり役に立ちませんでした。
失敗したクエリは次のようになります (簡潔さと明確さのために省略されています。無実を保護するために名前が変更されています)。
エラーは次のとおりです。
エラー 1 (HY000): ファイル '/opt/data/data2/idx_foo/my_precious_table#P#p0#SP#foo0.MYI' を作成/書き込みできません (エラーコード: 13)
「ファイルを作成/書き込みできません」は権限の問題のように見えましたが、ターゲットフォルダーの権限は次のようになります。
念のため、root:root と自分自身にチャウニングしてみました。これで問題は解決しませんでした。
ソース MySQL サーバーはバージョン 5.1.22-rc-log です。宛先サーバーは 5.1.29-rc-community です。どちらも最近の CentOS インストールで実行されています。
編集: もう少し調査すると、Errcode 13 は実際には権限エラーであることがわかります。しかし、どうすればそれを手に入れることができrwxrwxrwx
ますか?
編集: Bill Karwin の優れた提案はうまくいきませんでした。私は root ユーザーとして作業しており、すべての特権フラグが設定されています。
編集: 個々のパーティションのデータ ディレクトリを指定せずにテーブルを作成すると機能しますが、これらのパーティションを、この MySQL インスタンスがデフォルトでテーブルを配置するディスクよりも大きなディスクに配置する必要があります。また、テーブル レベルで DATA/INDEX DIRECTORY を指定することはできません。これは、使用している MySQL のバージョン (5.1.29-rc-community) では合法ではありません。
編集: MySQL メーリング リストと内部 IT スタッフのおかげで、最終的に答えにたどり着きました。下記参照。
mysql - MYSQL - 特定のフィールドのみを指定してテーブルをエクスポートするにはどうすればよいですか?
特定のフィールドのみを指定してテーブルをエクスポートするにはどうすればよいですか?
私は mysql 5.0 を使用しています - sql コマンドまたは mysqldump を使用しています。
私のテーブルは X で、エクスポートしたいフィールドは A、B、C です
sql - mysqldump で特定のテーブルをスキップする
mysqldump コマンドから特定のテーブルを制限する方法はありますか?
たとえば、次の構文を使用して、table1 と table2のみをダンプします。
しかし、 table1 と table2を除くすべてのテーブルをダンプする同様の方法はありますか? mysqldump のドキュメントには何も見つかりませんでした。ブルート フォース (すべてのテーブル名を指定する) しか方法はありませんか?
mysql - DDL が同時に使用されている場合、mysqldump と単一トランザクションを使用して正しいダンプを取得するにはどうすればよいですか?
私は MySQL を初めて使用し、mysqldump
. このページでは、次のコマンド ラインを提案しています。
しかし...ドキュメントを注意深く読むと、次のことがわかります。
ダンプの処理中
--single-transaction
は、有効なダンプ ファイル (正しいテーブルの内容とバイナリ ログの位置) を確保するために、他の接続で次のステートメントを使用しないでくださいALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
。一貫性のある読み取りはこれらのステートメントから分離されていないため、ダンプ対象のテーブルでこれらのステートメントを使用すると、テーブルの内容を取得するSELECT
実行者が誤った内容を取得したり、失敗したりする可能性があります。mysqldump
では、この可能性のあるダンプ破損シナリオを防ぐ方法はありますか? つまり、これらのステートメントを一時的にブロックできるコマンドです。
PS: この件に関する MySQL バグ エントリhttp://bugs.mysql.com/bug.php?id=27850
mysql - mysql ダンプ sql ファイルを sqlite3 db にインポートできる形式に変換するスクリプト
MySQL からのテーブルとデータを含むエクスポート SQL ファイルがあり、それを Sqlite 3 DB にインポートしたいと考えています。
それを行う最善の方法は何ですか?
sqlite3 ツールを使用してファイルをインポートするだけでは機能しません。