1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        將數據庫從 MySQL 移植到 MemSQL

        發布時間:  2012/9/4 17:28:16

        因為 MemSQL 完全兼容 MySQL,因此將數據從 MySQL 遷移到 MemSQL 上是非常直接的,你可以使用標準的 MySQL 工具來遷移。

        本例子假設你的 MySQL 和 MemSQL 都跑在同一臺機器上,MySQL 在 3306 端口,而 MemSQL 在 3307 端口,同時假設二者都可以通過 root 賬號無需密碼訪問。-
         


        使用 mysqldump 工具移植
        mysqldump 是 MySQL 客戶端最常用的數據備份工具之一,它會生成一些列創建表和插入數據的SQL語句,因此用來恢復一個數據庫是最方便的。

        當你確定要將數據遷移到 MemSQL 之前,有幾個注意事項:

        大多數 MySQL 存儲引擎都是使用 B-tree 來存儲索引的,而 MemSQL 是使用單向無鎖的 skip 列表或者無鎖的哈希表。選擇正確的索引數據結構對應用程序的性能會有顯著的提升。其中哈希表主要適合 key-value 的查找,而 skip 列表特別適合用于復雜范圍的掃描和排序(ORDER BY)。因此在進行遷移之前,你得重新審視你得表定義并確定是否能使用 MemSQL 專有的優化。默認的 BTREE 符號將被轉成升序的 skip 列表。如果你需要對某個列做雙向的范圍掃描,你可以考慮同時增加升序和降序的索引,更多 MemSQL 的索引信息請看 indexes

        因為 code generation 的緣故,  MemSQL 首次加載數據庫結構的速度要比 MySQL 慢,因為 MemSQL 首次加載表結構時,會生成并編譯代碼來實現這個表的架構,包括內存分配、插入、刪除和迭代方法等等。一旦表被編譯完成,MemSQL 將在整個運行期間直接使用編譯好的代碼。而 mysqldump 生成的 INSERT 語句也將特別編譯一次。
        mysqldump 會生成一些 MemSQL 不支持的 SQL 語句,例如不支持 UNIQUE_CHECKS,為了更好的支持 mysqldump,MemSQL 對這些不支持的語句只是予以警告,可通過調整 warn_level 變量來控制錯誤的級別,詳情請看 Unsupported Features . 某些 CREATE TABLE 語句可能被完全阻止執行,如果你遇見這種問題,只能手工去修改表的定義SQL。
        如果你運行 MemSQL 的機器沒有足夠的內存來加載數據,服務器將會對 INSERT 語句執行報 out-of-memory 的錯誤信息,這種情況你只能安裝更多的內存。如果你將已有的 memsqlbin 目錄復制到新的機器上,那么MemSQL 會繼續沿用已編譯的表定義和 INSERT 語句。如果你使用的是 MemSQL 開發版,而且超過了10G 的限制,那你可以參考 memsql.com/next 來了解如何升級。

        建議你將數據庫結構定義和數據分開獨立文件存放,這樣就可以在需要的時候來調整表結構,你可以使用下面命令來分別導出數據庫結構和數據文件:

        $ mysqldump -h 127.0.0.1 -u root -B [database name] --no-data > schema.sql$ mysqldump -h 127.0.0.1 -u root -B [database name] --no-create-info > data.sql然后通過下面方法導入:

        $ mysql -h 127.0.0.1 -u root -P 3307 < schema.sql$ mysql -h 127.0.0.1 -u root -P 3307 < data.sql運行這些步驟時,你可以觀察 memsql_tracelog (同時也輸出到 stderr)  來查看執行過程中被忽略的不被支持的特性。一旦導入完成后,你可以連接到 MemSQL 并查詢結果。

        轉換你的應用程序
        讓應用程序支持 MemSQL 非常簡單,只需要改連接配置即可。

        注意

        如果你要連接到本機的 MemSQL 應該使用 127.0.0.1 而不是 localhost,多數 MySQL 客戶端可將 localhost 解析并使用 MySQL 的 socket 文件進行連接而忽略端口設置,詳情請看 this page

        一旦你開始運行程序,可監控 memsql_tracelog. 一些不支持的SQL語法會在這里顯示。更多 MemSQL 的 SQL Statements


         


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          1
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线