本文參考
因為一些原因,需要把乙個mnesia節點的資料庫搬遷到另乙個節點,然後棄用原來的節點。
首先假設節點a'a@ipa'
需要搬遷到節點b'b@ipb'
,它們需要能夠連通
'a@ipa'
需要啟動著(包括mnesia, -set_cookie $cookiea)
啟動節點b,為mnesia指定乙個新路徑
#erl -name 'b@ipb' -set_cookie $cookiea -mnesia dir mnesia資料路徑 -s mnesia
('b@ipb')1>mnesia:change_config(extra_db_nodes,['a@ipa', 'b@ipb']).
將b節點的schema錶該為disc_copies
('b@ipb')2>mnesia:change_table_copy_type(schema,node(),disc_copies).
把a節點所有的disc_copies、disc_copies_only表拷貝過來mnesia:move_table_copy(tab :: table(), from :: node(), to :: node()) -> t_result(ok)
('b@ipb')3>mnesia:move_table_copy(表名, 'a@ipa', 'b@ipb').
6.停止a節點,在b節點刪掉a節點上的schema表
mnesia:del_table_copy(schema,'a@ipa').
7.停止b節點,重新啟動b節點,檢視b節點mnesia中a節點的schema表已經沒有了 erlang mnesia資料庫設定主鍵自增
mnesia是erlang otp自帶的分布式資料庫管理系統。mnesia配合erlang的實現近乎理想,但在實際使用當中差強人意,總會有一些不足。mnesia資料表沒有主鍵自增的功能,但在mnesia函式中有乙個自增函式可以用來生成自增的id,在後面的內容將講述如何實現主鍵自增的功能。參照sqli...
erlang mnesia 節點同步資料
mnesia的機制稍微有些奇怪,今天一天都比較閒,於是測試study了下,看看是如果動作.目標 逐漸新增n個mnesia節點,並確保資料在這些節點上保持同步.過程如下 1.mnesia的分布式可以從乙個節點開始,然後慢慢新增.2.新增加乙個節點的時候,首先要確保新節點上已經呼叫過mnesia sta...
資料庫 資料庫索引
索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...