<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## 一 備份恢復工具介紹 mongodb有兩款備份恢復工具,分別是 * mongoexport/mongoimport 導入/導出的是JSON格式或者CSV格式 * mongodump/mongorestore 導入/導出的是BSON格式。 ### 兩種格式區別 JSON可讀性強但體積較大,BSON則是二進制文件,體積小但對人類幾乎沒有可讀性。 * json的優劣: JSON雖然具有較好的跨版本通用性,但其只保留了數據部分,不保留索引,賬戶等其他基礎信息。使用時應該注意。 * bson的優劣 BSON格式可能會隨mongodb版本不同而有所不同,所以不同版本之間用mongodump/mongorestore可能不會成功 當無法使用BSON進行跨版本的數據遷移的時候,可使用JSON格式 ## 二 JSON格式工具使用 ### A 導出工具mongoexport Mongodb中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。 可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。 **mongoexport參數說明** ``` $ mongoexport --help -h:指明數據庫宿主機的IP -u:指明數據庫的用戶名 -p:指明數據庫的密碼 -d:指明數據庫的名字 -c:指明collection的名字 -f:指明要導出那些列 -o:指明到要導出的文件名 -q:指明導出數據的過濾條件 --authenticationDatabase admin ``` **單表備份至json格式** ```sh mongoexport -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah -c log \ -o /tmp/log.json ``` **單表備份至csv格式** 如果我們需要導出CSV格式的數據,則需要使用----type=csv參數:需要制定導出的列名 ``` mongoexport -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah -c log \ --type=csv -f uid,name,age,date \ -o /tmp/log.csv ``` ### B 導入工具mongoimport Mongodb中的mongoimport工具可以把一個特定格式文件中的內容導入到指定的collection中。 該工具可以導入JSON格式數據,也可以導入CSV格式數據。具體使用如下所示: **mongoimport 參數說明** ``` $ mongoimport --help 參數說明: -h:指明數據庫宿主機的IP -u:指明數據庫的用戶名 -p:指明數據庫的密碼 -d:指明數據庫的名字 -c:指明collection的名字 -f:指明要導入那些列 -j, --numInsertionWorkers=<number> (defaults to 1) //并行備份 ``` **恢復json格式表數據到log1** ``` mongoimport -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah \ -c log1 /tmp/log.json ``` **恢復csv格式的文件到log2** 如果要導入CSV格式文件中的內容,則需要通過--type參數指定導入格式,具體如下所示: ``` #csv格式的文件頭行,有列名字 mongoimport -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah \ -c log2 --type=csv --headerline --file /tmp/log.csv ##--headerline:指明第一行是列名,不需要導入。 #csv格式的文件頭行,沒有列名字 mongoimport -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d oldboy \ -c log3 --type=csv -f id,name,age,date --file /tmp/log1.csv ``` ### C 異構平臺遷移案例 mysql -----> mongodb world數據庫下city表進行導出,導入到mongodb 1. mysql開啟安全路徑 ```sh 添加以下配置 vim /etc/my.cnf secure-file-priv=/tmp #重啟數據庫生效 /etc/init.d/mysqld restart ``` 2. 導出mysql的city表數據 ```sh source /root/world.sql select * from world.city into outfile '/tmp/city1.csv' fields terminated by ','; ``` 3. 處理備份文件 ``` desc world.city ID | int(11) | NO | PRI | NULL | auto_increment | | Name | char(35) | NO | | | | | CountryCode | char(3) | NO | MUL | | | | District | char(20) | NO | | | | | Population #添加第一行列名信息 vim /tmp/city.csv ID,Name,CountryCode,District,Population ``` 4. 在mongodb中導入備份 ``` mongoimport -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d world \ -c city --type=csv ID,Name,CountryCode,District,Population --file /tmp/city1.csv use world db.city.find({CountryCode:"CHN"}); ``` ## 三 BSON格式工具使用 ### A mongodump和mongorestore介紹 mongodump能夠在Mongodb運行時進行備份,是對運行的Mongodb做查詢,然后將所有查到的文檔寫入磁盤。 如果我們在備份時對數據庫進行了寫入操作,就可能存在備份數據不一定是數據庫的實時快照的問題, 另外在備份時可能會對其它客戶端性能產生不利的影響。 ### B mongodump參數說明: ``` $ mongodump --help -h:指明數據庫宿主機的IP -u:指明數據庫的用戶名 -p:指明數據庫的密碼 -d:指明數據庫的名字 -c:指明collection的名字 -o:指明到要導出的文件名 -q:指明導出數據的過濾條件 -j, --numParallelCollections=<number> (defaults to 4) //并行備份 ``` ### C mongodump備份工具 ```sh # 1全庫備份 mongodump -uroot -proot123 --port 27017 \ --authenticationDatabase admin -o /tmp/backup # 2備份world庫 mongodump -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d world -o /tmp/backup/ # 3備份noah庫下的log集合 mongodump -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah -c log -o /tmp/backup/ # 4壓縮備份 mongodump -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah -o /tmp/backup/ --gzip mongodump -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d app -c vast -o /tmp/backup/ --gzip ``` ### D mongorestore恢復工具 ```sh # 1恢復world庫 mongorestore -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d world1 /tmp/backup/world # 2恢復oldguo庫下的t1集合 mongorestore -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah -c log1 --gzip /tmp/backup/noah/log.bson # 3drop表示恢復的時候把之前的集合drop掉 mongorestore -uroot -proot123 --port 27017 \ --authenticationDatabase admin -d noah --drop /tmp/backup/noah ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看