<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      數據庫遷移

      前言

      數據庫遷移有啥好記錄的, 一句話搞就完了.
      操蛋在于, 項目沒有實際開發測試完,但是需要先寫發版步驟. 
      

      場景:

      平常開發服務器A, 要給客戶定制化部署一份B. A的表結構等信息還沒有完全確定, 開發中可能存在變動, 如何寫發版遷移步驟呢?
      

      mysql:

      方案1(navicat視圖化工具):

      navicat 通過數據庫連接工具直接遷移.
      工具-> 結構同步/數據同步. 選擇源和目標之后執行.
      
      • 優點:

        鏈接簡單, 所見即所得

      • 缺點:

        不容易描述, 要么截圖讓運維按照截圖操作, 要么現場指導, 各種點擊選擇容易出錯.
        比如我只遷移某個庫中的某個表的數據, 操作上可能要找到表再勾選, 比較難找.

      方案2(mysqldump):

      示例:

      僅導出結構
      mysqldump -u賬號 -p密碼 -hIP地址 -d -B 數據庫1 數據2 數據庫3 > 導出的建庫語句.sql
      導出數據
      mysqldump -u賬號 -p密碼 -hIP地址 數據庫 表1 表2 表3> 導出數據執行語句.sql
      -u 賬號
      -p 密碼
      -h 數據庫
      --where 查詢語句
      有了sql怎么寫到新庫, 這個就不贅述了. 
      mysql -u賬號 -p密碼 -hIP地址 --database=數據庫1 -e"要手動執行的sql語句"
      mysql -u賬號 -p密碼 -hIP地址 --database=數據庫1  < 要導入的sql文件.sql
      
      • 優點:

        不會出錯,傻瓜式操作,不會因為誤點擊導致數據出錯.

      • 缺點:

        需要拼接賬號密碼ip地址才能操作, 落了下乘.

      mongoDB

      眾所周知, mongoDB,無需建表語句, 動態創建表, 所以沒有啥結構遷移?
      嗯? 怎么可能沒有結構遷移, 還有索引遷移呢!

      索引導出(js腳本):

      var collectionList = db.getCollectionNames();
      for(var index in collectionList){
          var collection = collectionList[index];
          var cur = db.getCollection(collection).getIndexes();
          if(cur.length == 1){
              continue;
          }
          for(var index1 in cur){
              var next = cur[index1];
              //print(JSON.stringify(next))
              if(next["key"]["_id"] == '1'){
                  continue;
              }
              print("try{ db.getCollection(\""+collection+"\").ensureIndex("+JSON.stringify(next.key)+",{background:1, unique:" + (next.unique || false) + "" + (next.expireAfterSeconds > 0 ? ", expireAfterSeconds :" + next.expireAfterSeconds  : "") + " })}catch(e){print(e)}")
          }
      }
      

      數據導入導出

      示例導出:
      mongoexport -h 127.0.0.1 --port 20000 -d chargerlink -c t_wallet_card_reset_record  --file 123.json --query='{"reset_time":{$gte:1561392000000}}'
      -h 地址
      -port 端口
      -d 數據庫名稱
      -c 表名稱
      --type 導出數據類型,
      -o 導出數據存儲位置
      --query 檢索條件
      導入:
      mongoimport -h 127.0.0.1 --port 20000 -d mamcharge -c unionUser --file 123.json
      -h 地址
      -port 端口
      -d 數據庫名稱
      -c 表名稱
      -file 導入數據存儲位置
      
      給別人讓別人錄入采用export導出文件,copy給對方,給對方寫好import語句,
      自己執行當然采用mongodump了, 方便.
      備份示例:
      mongodump --host 172.16.1.185 --port 27017 -u mamcharge -p hlBAPwR2DG -d mamcharge -c conf_alarm_definition
      參數說明:
      --host:MongoDB所在服務器IP。
      --port:MongoDB所在服務器端口。
      -d:需要備份的數據庫實例。
      -o:備份的數據存放位置。
      -u : 指定登錄用戶
      -p : 指定登錄用戶的密碼
      -c :  指定要備份的集合
      
      posted on 2023-02-01 11:29  夜色無邊000  閱讀(35)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 广汉市| 中文字幕色av一区二区三区| 天天摸天天做天天添欧美| 国产精品一区二区久久岳| 日本免费观看mv免费版视频网站| 亚洲色大成网站WWW久久| 国产亚洲精品久久综合阿香| 国产在线午夜不卡精品影院| 中文字幕亚洲一区二区va在线| 国产69精品久久久久人妻刘玥| 国产卡一卡二卡三免费入口| 国产精品综合av一区二区国产馆 | 无码一区二区三区久久精品| 日本在线 | 中文| 人妻无码不卡中文字幕系列 | 在厨房拨开内裤进入在线视频| 国产成人夜色高潮福利app | 久久精品伊人狠狠大香网| 精品久久人人做爽综合| 福利一区二区在线视频| 国产一级小视频| 国产在线视频精品视频| 3d无码纯肉动漫在线观看| 少妇人妻偷人精品免费| 办公室强奷漂亮少妇视频| 国产中文字幕精品视频| 四虎永久在线精品免费看| 亚洲精品乱码久久久久久中文字幕| 日日碰狠狠添天天爽超碰97| 国产一区二区精品偷系列| 夜色福利站WWW国产在线视频| 亚洲欧洲∨国产一区二区三区| 日本一级午夜福利免费区| 亚洲午夜伦费影视在线观看| 亚洲高清aⅴ日本欧美视频| 91精品国产蜜臀在线观看| 国产一区国产精品自拍| 国产综合久久久久久鬼色| 线观看的国产成人av天堂| 欧美喷潮最猛视频| 欧美18videosex性欧美tube1080 |