monogdb之数据备份恢复与数据的导入导出
### 备份方式和恢复方式 备份全部数据库 mkdir /bak mongodump 备份指定数据库 mkidr /bak mongodump -d admin 备份一个数据库中的某个集合 mkdir /bak mongodump -d admin -c student 恢复全部数据库 mongorestore --drop # --drop是为了防止数据重复 恢复
### 备份方式和恢复方式
备份全部数据库
mkdir /bak
mongodump
备份指定数据库
mkidr /bak
mongodump -d admin
备份一个数据库中的某个集合
mkdir /bak
mongodump -d admin -c student
恢复全部数据库
mongorestore --drop # --drop是为了防止数据重复
恢复某个数据库
mongorestore -d dbname --drop
恢复某个数据库的某个集合
mongorestore -d dbname -c student --drop
异机数据恢复
mongorestore -h host -d dbname /path/sourcefile # 注意这里要使用dump出来的文件的源文件
mongodump
-h 导出源
-d 要导出的数据库名称
-o 数据库要导出的位置
mongorestore
-d 使用的数据库名称
-c 恢复一个表
### 数据的导出
Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
mongoexport
参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-f:指明要导出那些列
-o:指明到要导出的文件名
-q:指明导出数据的过滤条件
### 数据的导入
mongoimport
-type 指明要导入的文件格式
-headerline 指明不导入第一行
-file 指明要导入的文件路径
参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-f:指明要导入那些列
CSV 格式良好,主流数据库都支持导出为CSV 的格式,所以这种格式非常利于异构数据迁移
### 演示备份数据库
mkdir /bak cd /bak [root@redis bak]# mongodump -h 192.168.58.30 --port 27017 -u root -p connected to: 192.168.58.30:27017 Enter password: Thu Jul 17 08:15:42.996 all dbs Thu Jul 17 08:15:43.006 DATABASE: admin to dump/admin Thu Jul 17 08:15:43.015 admin.system.indexes to dump/admin/system.indexes.bson Thu Jul 17 08:15:43.076 2 objects Thu Jul 17 08:15:43.077 admin.system.users to dump/admin/system.users.bson Thu Jul 17 08:15:43.077 1 objects Thu Jul 17 08:15:43.077 Metadata for admin.system.users to dump/admin/system.users.metadata.json Thu Jul 17 08:15:43.078 DATABASE: guest to dump/guest Thu Jul 17 08:15:43.082 guest.system.indexes to dump/guest/system.indexes.bson Thu Jul 17 08:15:43.088 3 objects Thu Jul 17 08:15:43.088 guest.system.users to dump/guest/system.users.bson Thu Jul 17 08:15:43.097 1 objects Thu Jul 17 08:15:43.097 Metadata for guest.system.users to dump/guest/system.users.metadata.json Thu Jul 17 08:15:43.098 guest.student to dump/guest/student.bson Thu Jul 17 08:15:43.103 26 objects Thu Jul 17 08:15:43.103 Metadata for guest.student to dump/guest/student.metadata.json [root@redis bak]# ll total 4 drwxr-xr-x 4 root root 4096 Jul 17 08:15 dump [root@redis bak]# cd dump/ [root@redis dump]# ls admin guest [root@redis dump]#
###恢复数据库
由于刚开始的时候指定了备份目录下面的所有文件,所以会报错
[root@localhost ~]# [root@localhost ~]# mongorestore -d admin admin/* ERROR: too many positional options Import BSON files into MongoDB.
后来从新换了一个,再次报错
[root@localhost ~]# mongorestore -d admin admin/ couldn't connect to [127.0.0.1] couldn't connect to server 127.0.0.1:27017
上面报错是因为我配置文件中写的是本机ip,更换后
[root@localhost ~]# mongorestore -d admin admin/ -h 192.168.58.10 connected to: 192.168.58.10 Thu Jul 17 09:08:33.873 admin/system.users.bson Thu Jul 17 09:08:33.873 going into namespace [admin.system.users] 1 objects found Thu Jul 17 09:08:33.902 Creating index: { key: { _id: 1 }, ns: "admin.system.users", name: "_id_" } Thu Jul 17 09:08:34.043 Creating index: { key: { user: 1, userSource: 1 }, unique: true, ns: "admin.system.users", name: "user_1_userSource_1" } [root@localhost ~]#
### 查看是否正确导入
[root@localhost ~]# mongo 192.168.58.10 MongoDB shell version: 2.4.6 connecting to: 192.168.58.10/test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user > show dbsl Thu Jul 17 09:12:34.806 don't know how to show [dbsl] at src/mongo/shell/utils.js:847 > show dbs; admin0.203125GB guest0.203125GB local0.078125GB > use guest switched to db guest > show collections; student system.indexes system.users > db.student.find() { "_id" : ObjectId("53c769621d184866a15043ec"), "name" : "zhuima" } { "_id" : ObjectId("53c769861d184866a15043ed"), "x" : 1 } { "_id" : ObjectId("53c769861d184866a15043ee"), "x" : 2 } { "_id" : ObjectId("53c769861d184866a15043ef"), "x" : 3 } { "_id" : ObjectId("53c769861d184866a15043f0"), "x" : 4 } { "_id" : ObjectId("53c769861d184866a15043f1"), "x" : 5 } { "_id" : ObjectId("53c769861d184866a15043f2"), "x" : 6 } { "_id" : ObjectId("53c769861d184866a15043f3"), "x" : 7 } { "_id" : ObjectId("53c769861d184866a15043f4"), "x" : 8 } { "_id" : ObjectId("53c769861d184866a15043f5"), "x" : 9 } { "_id" : ObjectId("53c769861d184866a15043f6"), "x" : 10 } { "_id" : ObjectId("53c769861d184866a15043f7"), "x" : 11 } { "_id" : ObjectId("53c769861d184866a15043f8"), "x" : 12 } { "_id" : ObjectId("53c769861d184866a15043f9"), "x" : 13 } { "_id" : ObjectId("53c769861d184866a15043fa"), "x" : 14 } { "_id" : ObjectId("53c769861d184866a15043fb"), "x" : 15 } { "_id" : ObjectId("53c769861d184866a15043fc"), "x" : 16 } { "_id" : ObjectId("53c769861d184866a15043fd"), "x" : 17 } { "_id" : ObjectId("53c769861d184866a15043fe"), "x" : 18 } { "_id" : ObjectId("53c769861d184866a15043ff"), "x" : 19 } Type "it" for more >
### 用户管理
添加超级用户
use admin
db.addUser('name','password')
添加只读用户
use dbname
db.addUser('name','password',true)
添加普通用户
use dbname
db.addUser('name','password') 其实也不能说是普通用户,这个只是针对于某一个数据库有权限
删除用户
use dbname
db.system.users.remove('name','password')
更换用户密码
use dbname
db.addUser('name','password')
切换用户(必须要先到对对应的数据库,root账户除外)
use dbname
db.auth('name','password')
查找用户
use dbname
db.system.users.find()
### 监控mongodb
1、db.serverStatus()可以查看系统的大部分状态
> db.serverStatus() { "host" : "redis.vagrant.internal", "version" : "2.6.3", "process" : "mongod", "pid" : NumberLong(27724), "uptime" : 4997, "uptimeMillis" : NumberLong(4997102), "uptimeEstimate" : 4608, "localTime" : ISODate("2014-07-21T10:49:35.340Z"), "asserts" : { "regular" : 0, "warning" : 0, "msg" : 0, "user" : 4, "rollovers" : 0 }, "backgroundFlushing" : { "flushes" : 83, "total_ms" : 202, "average_ms" : 2.433734939759036, "last_ms" : 0, "last_finished" : ISODate("2014-07-21T10:49:18.431Z") }, "connections" : { "current" : 1, "available" : 51199, "totalCreated" : NumberLong(2) }, "cursors" : { "note" : "deprecated, use server status metrics", "clientCursors_size" : 0, "totalOpen" : 0, "pinned" : 0, "totalNoTimeout" : 0, "timedOut" : 0 }, "dur" : { "commits" : 30, "journaledMB" : 0, "writeToDataFilesMB" : 0, "compression" : 0, "commitsInWriteLock" : 0, "earlyCommits" : 0, "timeMs" : { "dt" : 3102, "prepLogBuffer" : 0, "writeToJournal" : 0, "writeToDataFiles" : 0, "remapPrivateView" : 0 } }, "extra_info" : { "note" : "fields vary by platform", "heap_usage_bytes" : 62587072, "page_faults" : 2 }, "globalLock" : { "totalTime" : NumberLong("4997106000"), "lockTime" : NumberLong(466098), "currentQueue" : { "total" : 0, "readers" : 0, "writers" : 0 }, "activeClients" : { "total" : 0, "readers" : 0, "writers" : 0 } }, "indexCounters" : { "accesses" : 48, "hits" : 48, "misses" : 0, "resets" : 0, "missRatio" : 0 }, "locks" : { "." : { "timeLockedMicros" : { "R" : NumberLong(388976), "W" : NumberLong(466098) }, "timeAcquiringMicros" : { "R" : NumberLong(382921), "W" : NumberLong(52063) } }, "admin" : { "timeLockedMicros" : { "r" : NumberLong(239696), "w" : NumberLong(0) }, "timeAcquiringMicros" : { "r" : NumberLong(105140), "w" : NumberLong(0) } }, "local" : { "timeLockedMicros" : { "r" : NumberLong(236543), "w" : NumberLong(842) }, "timeAcquiringMicros" : { "r" : NumberLong(73211), "w" : NumberLong(45) } }, "zhuima" : { "timeLockedMicros" : { "r" : NumberLong(139309), "w" : NumberLong(208) }, "timeAcquiringMicros" : { "r" : NumberLong(1778), "w" : NumberLong(3) } } }, "network" : { "bytesIn" : 12768, "bytesOut" : 29899, "numRequests" : 150 }, "opcounters" : { "insert" : 5, "query" : 22, "update" : 9, "delete" : 4, "getmore" : 0, "command" : 141 }, "opcountersRepl" : { "insert" : 0, "query" : 0, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 0 }, "recordStats" : { "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0, "admin" : { "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0 }, "local" : { "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0 } }, "writeBacksQueued" : false, "mem" : { "bits" : 64, "resident" : 31, "virtual" : 2654, "supported" : true, "mapped" : 1184, "mappedWithJournal" : 2368 }, "metrics" : { "cursor" : { "timedOut" : NumberLong(0), "open" : { "noTimeout" : NumberLong(0), "pinned" : NumberLong(0), "total" : NumberLong(0) } }, "document" : { "deleted" : NumberLong(1), "inserted" : NumberLong(5), "returned" : NumberLong(81), "updated" : NumberLong(9) }, "getLastError" : { "wtime" : { "num" : 0, "totalMillis" : 0 }, "wtimeouts" : NumberLong(0) }, "operation" : { "fastmod" : NumberLong(0), "idhack" : NumberLong(0), "scanAndOrder" : NumberLong(0) }, "queryExecutor" : { "scanned" : NumberLong(9), "scannedObjects" : NumberLong(9) }, "record" : { "moves" : NumberLong(0) }, "repl" : { "apply" : { "batches" : { "num" : 0, "totalMillis" : 0 }, "ops" : NumberLong(0) }, "buffer" : { "count" : NumberLong(0), "maxSizeBytes" : 268435456, "sizeBytes" : NumberLong(0) }, "network" : { "bytes" : NumberLong(0), "getmores" : { "num" : 0, "totalMillis" : 0 }, "ops" : NumberLong(0), "readersCreated" : NumberLong(0) }, "preload" : { "docs" : { "num" : 0, "totalMillis" : 0 }, "indexes" : { "num" : 0, "totalMillis" : 0 } } }, "storage" : { "freelist" : { "search" : { "bucketExhausted" : NumberLong(0), "requests" : NumberLong(5), "scanned" : NumberLong(8) } } }, "ttl" : { "deletedDocuments" : NumberLong(0), "passes" : NumberLong(0) } }, "ok" : 1 } >
2、mongostat 可以动态查看mongodb的各种状态
[root@redis ~]# mongostat -h 192.168.58.30 -uzhuima -pzhuima connected to: 192.168.58.30 insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn time *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 zhuima:0.0% 0 0|0 0|0 62b 3k 1 12:52:12 *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 .:0.0% 0 0|0 0|0 62b 3k 1 12:52:13 *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 .:0.1% 0 0|0 0|0 62b 3k 1 12:52:14 *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 zhuima:0.0% 0 0|0 0|0 62b 3k 1 12:52:15 *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 zhuima:0.0% 0 0|0 0|0 62b 3k 1 12:52:16 *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 zhuima:0.0% 0 0|0 0|0 62b 3k 1 12:52:17 *0 *0 *0 *0 0 1|0 0 1.16g 2.59g 31m 0 zhuima:0.0% 0 0|0 0|0 62b 3k 1 12:52:18 ^Z [1]+ Stopped mongostat -h 192.168.58.30 -uzhuima -pzhuima [root@redis ~]#
### 参考文章:
http://blog.csdn.net/shirdrn/article/details/7105539
http://www.cnblogs.com/huangxincheng/archive/2012/03/08/2384571.html

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









DDREASE は、ハード ドライブ、SSD、RAM ディスク、CD、DVD、USB ストレージ デバイスなどのファイル デバイスまたはブロック デバイスからデータを回復するためのツールです。あるブロック デバイスから別のブロック デバイスにデータをコピーし、破損したデータ ブロックを残して正常なデータ ブロックのみを移動します。 ddreasue は、回復操作中に干渉を必要としないため、完全に自動化された強力な回復ツールです。さらに、ddasue マップ ファイルのおかげでいつでも停止および再開できます。 DDREASE のその他の主要な機能は次のとおりです。 リカバリされたデータは上書きされませんが、反復リカバリの場合にギャップが埋められます。ただし、ツールに明示的に指示されている場合は切り詰めることができます。複数のファイルまたはブロックから単一のファイルにデータを復元します

0.この記事は何をするのですか?私たちは、多用途かつ高速な最先端の生成単眼深度推定モデルである DepthFM を提案します。従来の深度推定タスクに加えて、DepthFM は深度修復などの下流タスクでも最先端の機能を実証します。 DepthFM は効率的で、いくつかの推論ステップ内で深度マップを合成できます。この作品について一緒に読みましょう〜 1. 論文情報タイトル: DepthFM: FastMonocularDepthEstimationwithFlowMatching 著者: MingGui、JohannesS.Fischer、UlrichPrestel、PingchuanMa、Dmytr

創造性と活力に満ちたショートビデオプラットフォームであるDouyinでは、さまざまなエキサイティングなコンテンツを楽しむだけでなく、同じ志を持った友達と深いコミュニケーションをとることもできます。その中でも、チャットの火花は、両者間の交流の強さを示す重要な指標であり、意図せずして私たちと友人との間の感情的な絆に火をつけることがよくあります。ただし、何らかの理由でチャット スパークが切断される場合があります。それでは、チャット スパークを復元したい場合はどうすればよいでしょうか? このチュートリアル ガイドでは、コンテンツ戦略について詳しく説明し、皆様のお役に立てれば幸いです。 Douyin チャットのスパークを回復するにはどうすればよいですか? 1. Douyin メッセージ ページを開き、チャットする友達を選択します。 2. メッセージを送信し、お互いにチャットします。 3. 3日間メッセージを送信し続けると、スパークロゴを獲得できます。 3 日単位で写真やビデオをお互いに送信します

このプラットフォームを使用して曲を聴く場合、ほとんどの曲には聴きたい曲がいくつかあるはずです。もちろん、著作権がないため聴けないものもあります。もちろん、一部の曲を直接使用することもできますローカルにインポートされています。そこに行って聞いてください。一部の曲をダウンロードして、mp3 形式に直接変換できるため、携帯電話でスキャンしてインポートしたり、その他の状況に使用したりできます。しかし、ほとんどのユーザーにとって、ローカルの曲コンテンツのインポートについてはよくわからないため、これらの問題をうまく解決するために、今日は編集者も説明します。興味がありますか、

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

ソーシャルメディアの台頭が続く中、Douyinは人気のショートビデオプラットフォームとして多くのユーザーを魅了しています。 Douyin では、ユーザーは自分の生活を公開するだけでなく、他のユーザーと交流することもできます。このインタラクションにおいて、絵文字は徐々にユーザーが感情を表現する重要な手段になってきました。 1. WeChat で Douyin プライベート メッセージ絵文字を取得するにはどうすればよいですか?まず、Douyin プラットフォームでプライベート メッセージ絵文字を取得するには、Douyin アカウントにログインし、気に入った絵文字を参照して選択する必要があります。友達に送信するか、自分で収集するかを選択できます。 Douyin で絵文字パッケージを受信した後、プライベート メッセージ インターフェイスで絵文字パッケージを長押しし、「絵文字に追加」機能を選択できます。このようにして、この顔文字パッケージをDouyinの顔文字ライブラリに追加できます。 3. 次に、Douyin 顔文字ライブラリに単語を追加する必要があります

iPhone のモバイル データ接続に遅延や遅い問題が発生していませんか?通常、携帯電話の携帯インターネットの強度は、地域、携帯ネットワークの種類、ローミングの種類などのいくつかの要因によって異なります。より高速で信頼性の高いセルラー インターネット接続を実現するためにできることがいくつかあります。解決策 1 – iPhone を強制的に再起動する 場合によっては、デバイスを強制的に再起動すると、携帯電話接続を含む多くの機能がリセットされるだけです。ステップ 1 – 音量を上げるキーを 1 回押して放します。次に、音量小キーを押して、もう一度放します。ステップ 2 – プロセスの次の部分は、右側のボタンを押し続けることです。 iPhone の再起動が完了するまで待ちます。セルラーデータを有効にし、ネットワーク速度を確認します。もう一度確認してください 修正 2 – データ モードを変更する 5G はより優れたネットワーク速度を提供しますが、信号が弱い場合はより適切に機能します

世界は狂ったように大きなモデルを構築していますが、インターネット上のデータだけではまったく不十分です。このトレーニング モデルは「ハンガー ゲーム」のようであり、世界中の AI 研究者は、データを貪欲に食べる人たちにどのように餌を与えるかを心配しています。この問題は、マルチモーダル タスクで特に顕著です。何もできなかった当時、中国人民大学学部のスタートアップチームは、独自の新しいモデルを使用して、中国で初めて「モデル生成データフィード自体」を実現しました。さらに、これは理解側と生成側の 2 つの側面からのアプローチであり、両方の側で高品質のマルチモーダルな新しいデータを生成し、モデル自体にデータのフィードバックを提供できます。モデルとは何ですか? Awaker 1.0 は、中関村フォーラムに登場したばかりの大型マルチモーダル モデルです。チームは誰ですか?ソフォンエンジン。人民大学ヒルハウス人工知能大学院の博士課程学生、ガオ・イージャオ氏によって設立されました。
