問題タブ [mysqlimport]
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 - ロードデータファイルを使用するための最小データベース権限
mysqlimportを使用して、テーブル内のデータをTSVファイルの値に置き換えています。すべてが正常に機能している(DBスーパーユーザー名とパスワードを使用してデータをインポートする)ので、インポートを実行するデータベースユーザーが、置き換える単一のテーブルにのみ影響を与えることができるように、データをロックします。
にFILEを付与する必要があることはわかっています。「LOADDATAINFILE」(mysqlimportがラップする)を使用するためですが、データベースに付与できる最小限のアクセス許可のセットを見つけるのに問題があります。
私はもう試した;
しかし、mysqlimportを実行するとエラーが発生します。
このユーザーが関連するテーブルのみを変更できるようにデータベースを分離できるかどうか、またはmysqlimportを可能にするために、より広いアクセスを許可する必要があるかどうかを誰かが知っていますか?
mysql - MySQLに大規模な70GBのテーブルをインポートすると、mysqlimportが完了した後もテーブルは長期間使用できなくなります
わかりました、件名に対する明白な答えは次のとおりです。70GBです。しばらくお待ちください。しかし、私を聞いてください。
以前mysqlimport
は、データファイル(mysql標準タブ区切り形式)をすばやくロードしていました。mysqlimportコマンドが完了するまでに約4時間かかりました。この間、ディスクは容量(〜50MB /秒のディスクアクティビティ)で実行されていました。
しかし、完了してからさらに5時間経ちましたが、次のような単純なクエリを実行することはできません。
そのクエリを実行すると、(一見)無期限にブロックされます。クエリが実行されていない場合、ディスクアクティビティ(1つのmysqlプロセスが3MB /秒の読み取りと書き込みを実行し、別のmysqlプロセスが数MB /秒の読み取りアクティビティを実行している)が表示されます。これは、実行してから一定mysqlimport
です。また、1つのmysqlスレッドがほぼ100%実行されているように見えることもわかりmysqlimport
ます。
私の推測では、mysqlはバックグラウンド(1億5000万レコード、InnoDB)でインデックス作成などを処理しており、それがテーブルをクエリする私の能力を妨げているものです。しかし、それを確認する方法や、どのような活動が行われているのかを確認する方法がわかりません。または、いつ終了するかを見積もります。
余分な詳細:
なぜ70GBのテーブルがmysqlに入るのか誰かが疑問に思うでしょう。これは、Webアプリで使用される読み取り専用のデータテーブルです。これはでのみインデックス付けされ、id
クエリは限られたIDのセットでのみ(このテーブルでの範囲クエリはありません)、列で結合し、id
列で直接クエリを実行しid
ます。テーブルは大規模なHadoopジョブで更新され、効率を上げるためにmysqlimportで毎晩更新されます。
更新:MySQLは70GBのインポート後に最終的にクラッシュしましたが、エラーログにはあまり表示されません。テーブルをmyisamエンジンに変更し、インポートを再試行しています。
エラーログ:
php - mysqli フェッチ レコード
これは、私が抱えていた同じ問題に対する優れた解決策がある各ユーザーからの 3 つの画像を表示する投稿に関するものです。
このクエリで、pictureID も取得するにはどうすればよいのでしょうか。たとえば、投票に写真を使用する場合、pictureID も取得する必要があります。
Supericy ヘルプの後の回答: (誰かが同じものを探している場合)
そして、それをバインドします
mysql - データベースに影響を与えないMysqlインポートステートメント
Linux上のMySqlサーバー上のデータベースに.sqlファイルをインポートしようとしています。コマンドを実行しました
...しかし、何も起こらないようです。コマンドを実行すると、パスワードの入力を求められ、パスワードを入力すると、コマンドが実行されるはずです(結果やメッセージが表示されません)。MySqlサーバーにログインしてデータベースをチェックしましたが、何も表示されていないため、機能していないことがわかりました。誰が何が起こっているのか知っていますか?
詳細オプションを追加しようとしましたが、たくさんのエラーが発生しました。エラーだと思います。最初の行のいくつかを次に示します。
java - ダンプ ファイルを mysql JDBC にインポートする
MySQL (JDBC) で Java を使用しており、ダンプ ファイルをデータベースにインポートしたいと考えています。これを行う正しい方法は何ですか?次のコードを試しました:
しかし、私は MySQLSyntaxErrorException を取得します:
SQL 構文にエラーがあります。1行目の「source C:...\Desktop\dumpfile.sql」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
mysql - HDFS データ ファイルを mysql にインポートする
大きな HDFS ファイルを mysql db にインポートしようとしています。ファイル内のデータは、'^A' で区切ります。Ctrl-A で各列を区切るように mysql に指示するにはどうすればよいですか? また、インポートするフィールドを指定することはできますか?
mysql - MySQL データ エクスポートの変更時間
データベースに使用しているバックアップ スクリプトと復元スクリプトがいくつかあります。テーブルにはタイムスタンプ フィールドがあります。バックアップ スクリプトは次のようになります。
table.sql と table.txt の 2 つのファイルが作成されます。復元スクリプトは次のようになります。
ただし、バックアップ スクリプトは間違った時刻を出力しています。データベースの時刻より 1 時間遅れていますが、インポート時に修正されません。
たとえば、1 つの行の時間は15:10:25 でしたが、バックアップ スクリプトを実行すると、 14:10:25 がtable.txtに表示されます。復元スクリプトを実行すると、同じ行のデータベースの時刻が14:10:25になりました。もう一度バックアップすると、13:10:25と表示されます。等々...
これがなぜなのかわかりません。タイムゾーンは「SYSTEM」に設定されているようです (私は GMT を使用しています)。table.sql ファイルには、タイム ゾーンについて言及している行が数行あります。何か問題があるのでしょうか? 問題の完全なファイルは次のとおりです。
mysql - MySQLのインポートがエクスポートよりも遅いのはなぜですか?
コマンドラインからmysqldumpを使用して150MBのテーブルをエクスポートしました。エクスポートには約5秒かかりました。
ただし、同じファイルをインポートしようとすると、最大5分かかります。
インポートがエクスポートよりも遅いのはなぜですか?それを高速化する方法はありますか?1GBを超えるテーブルをエクスポート/インポートする必要があります。
それはロックで何かをする必要がありますか?selectはデータの読み取りを行っているため、エクスポートは高速で、インポートはデータの書き込みを行っており、書き込みロックが必要なため、速度が低下する可能性があります。
mysql - このファイルを MySQL にインポートするにはどうすればよいですか?
このハンガリー語のテキスト ファイルを MySQL テーブルにインポートしようとしていますが、ハンガリー語の文字が常に破損しています。インポート ファイルとテーブルの両方で多くのエンコーディングを試しましたが、適切な組み合わせが見つかりませんでした。
ファイル形式は、1 行に 1 つの単語と 1 つの数字をスペースで区切ったものです。私のインポート テーブルには、varchar と integer の 2 つの列があります。MySQL 5.5.16 と phpMyAdmin 3.4.5 を使用しています。phpMyAdmin ソリューションが推奨されますが、必要に応じてコマンド ラインを使用できます。
前もって感謝します!
編集: 上記のリンク切れを修正
php - php から mysql にグロブ テキスト ファイルをインポートする
私のグロブコードはファイルを見つけてテーブルに挿入しようとしますが失敗します。同じ質問をしている人を見つけることができませんでした。同じテーブルに挿入する必要がある多くのファイルがあります。カンマ区切りのテキストファイルです。
更新されたコード*
次のコードは、ロード データ行を削除している限り機能します。load data コマンドを手動で使用すると、機能します。「データの読み込みコマンドが機能しないのはなぜですか?」という問題を解決した投稿例が見つかりませんでした。