EExcel 丞燕快速查詢2

EExcel 丞燕快速查詢2
EExcel 丞燕快速查詢2 https://sandk.ffbizs.com/

上Mysql HA課程 Day1 12/10 DIY

可參考
http://www.osslab.org.tw/User:Alang/%E8%8D%89%E7%A8%BF%E6%96%87%E4%BB%B6/MySQL_Cluster

http://dev.mysql.com/downloads/
MySQL Cluster
http://dev.mysql.com/downloads/select.php?id=14
MySQL Cluster Support
http://www.mysql.com/support/supportedplatforms/cluster.html


1、C:\mysql\mysql-cluster-gpl-7.0.9-win32
2、sample\my1.ini my2.ini -> C:\mysql\mysql-cluster-gpl-7.0.9-win32
3、create config.ini -> C:\mysql\mysql-cluster-gpl-7.0.9-win32
3-1、create mgmd-log -> c:\mysql
4、edit config.ini  PS:大小寫沒差
   Management node

   [NDBD DEFAULT]
   NoOfReplicas 幾台dataNode # Number of replicas
   DataMemory   # How much memory to allocate for data storage
   IndexMemory  # How much memory to allocate for index storage

   [NDB_MGMD]
   ID  PS:只有一台時,不用打ID
   DataDir 放剛建立mgmd-log目錄 # Directory for MGM node logfiles
   HostName 看IP,如果在同一台就locahost PS:必需

   [NDBD]  有幾個就建幾個
   ID
   HostName 看IP,如果在同一台就locahost PS:必需
   ServerPort PS:有需要再加
   DataDir PS:看你把資料放那
  
   [MYSQLD] 要幾個就建幾個

5、start ndb_mgmd --initial -f ..\config.ini  PS:先啟動 Managemnet consol
6、start ndbd --initial   PS:data node #1 及 #2,分別執行兩次
   訊息:Using 1 fragments
         findNeighbours
   不支援virtual機器,因為太多thread
   ??第一次執行時才需要加上 --initial,爾後啟動時,就不能在加此參數,除非是要重新作初始化

7、ndb_mgm    PS:在 Management node 可以檢查 Cluster 狀態
   ndb_mgm>show
   PS:由於 config.ini 設定 NoOfReplicas=2,所以要啟動兩個 data-node 才會顯示狀態為 started。
   ndb_mgm -e show      PS:快速指令
   ndb_mgm -c localhost PS:指定IP
   ndb_mgm>help         PS:看一些指令

8、先把data目錄copy成data1和data2
   start mysqld --defaults-file=..\my1.ini
   start mysqld --defaults-file=..\my2.ini
  
   my1.ini
   ndb-nodeid=21  PS:config.ini裡面的 [mysqld]設的
   ndbcluster     PS:使用cluster enginner
  
   server-id=1    PS:和ndb-nodeid不同

   C:\mysql\mysql-cluster-gpl-7.0.9-win32\data1\PC14.err
   C:\mysql\mysql-cluster-gpl-7.0.9-win32\data2\PC14.err
   C:\mysql\mgmd-log\ndb_1_cluster.txt
  
   metadata
   C:\mysql\mysql-cluster-gpl-7.0.9-win32\bin\ndb_11_fs
   C:\mysql\mysql-cluster-gpl-7.0.9-win32\bin\ndb_12_fs
   較重要 LCP目錄 Local check point 記憶體中的資料寫成檔案
  
9、[shutdown]
   ndb_mgm
   ndb_mgm>shutdown
   單一指令:ndb_mgm -e shutdown
 
   mysqladmin -u root shutdown
   mysqladmin -u root -P 3307 shutdown

10、Boot Management node
      start ndb_mgmd -f ..\config.ini
    Data nodes
      start ndbd
    SQL nodes
      start mysqld --defaults-file=..\my1.ini
      start mysqld --defaults-file=..\my2.ini

    當ndbd啟動會load data=>starting

11、login mysql my1 my2
    my1>create database ndbtest;
    my1>show database;
    看my2是否有增
    my2>create table ntest (id INT, name CHAR(8)) ENGINE = ndbcluster;
    my1>show engines;
    my1>create table mtest (id INT) ENGINE = MYISAM;
    my1>show TABLES;  PS:存在table  mtest
    my2>show TABLES;  PS:不存在table  mtest

    my2>insert into ntest values (1,'aaa'), (2, 'bbb'), (3, 'ccc');
    my1>select * from ntest;
    my1>insert into ntest values (4,'ddd'), (5, 'eee');
    my2>select * from ntest;
    這裡看order會不一樣,因為取擇於cluster,所以都會不同,所以要注意
    要用ID來排序之類,才能確定LIMIT會正確。
    my2> select * from ntest LIMIT 2;
    my1> select * from ntest LIMIT 2;

    開工作管理員,強列關掉 ndbd.exe 1個
    會產生 execTAKE_OVERTCCONF
    還是可以查資料和insert
    my2>insert into ntest values (4,'ddd'), (5, 'eee');
    my1>select * from ntest;

    start ndbd
    ndbd_mgm -e show
    會看到starting狀態

    開工作管理員,強列關掉 舊的ndbd.exe 1個
    再select看data,還是在
  

    mysqlbinlog ..\data1\PC14-bin.000001
    show VARIABLES LIKE '%bin%';

找主key會找相關datanode,找非主鍵會找每一個datanode
所以cluster的系統要重新設計
另沒有外鍵(foringkey)

Four Data Nodes
Two Node Groups
Two Replicas

匯入word.sql
改table enginer=ndbcluster
alert table xxxx enginer=ndbcluster;

??下sql查,用非主鍵join,非常慢!慢到34.23s
總之join和主鍵要非常注意