安装

安装包准备 mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz

  1. // 建用户
  2. groupadd mysql
  3. useradd mysql -g mysql
  4. //移动到指定的目录、解包
  5. mv ${path}/mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/
  6. cd /usr/local/
  7. tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz
  8. mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 mysql
  9. //改变文件权限及安装
  10. chown -R mysql:mysql mysql
  11. cd mysql
  12. scripts/mysql_install_db --user=mysql
  13. //脚本启动文件
  14. cp support-files/mysql.server /etc/init.d/mysqld
  15. systemctl enable mysqld

安装问题 libaio.so.1: cannot open

sudo apt-get install libaio1 libaio-dev

设置密码

  1. ./mysql -h 127.0.0.1 -u root -p
  2. use mysql
  3. SELECT `Host`,`User` FROM user;
  4. UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;
  5. FLUSH PRIVILEGES;
  6. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpass' WITH GRANT OPTION;

管理节点配置

  1. [ndbd default]
  2. NoOfReplicas=1
  3. DataMemory=1448M #每个数据节点中给数据分配的内存
  4. IndexMemory=418M #每个数据节点中给索引分配的内存
  5. StringMemory=50
  6. MaxNoOfTables=4096 # 表的最大数量
  7. MaxNoOfOrderedIndexes=2048 # 有序索引的总数
  8. MaxNoOfUniqueHashIndexes=1024
  9. MaxNoOfAttributes=24576 # 可在集群中定义的属性数量
  10. MaxNoOfTriggers=10240 # 触发器的最大数量
  11. MaxNoOfConcurrentTransactions=100000 # 结点内可能的并发事务数,默认值为 4096。对于所有结点,必须将参数设置为相同的值。
  12. MaxNoOfConcurrentOperations=500000 # 同时出现在更新阶段或同时锁定的记录数
  13. TimeBetweenGlobalCheckpoints=1000 # 全局检查点操作之间的时间间隔
  14. TimeBetweenEpochs=100
  15. TimeBetweenWatchdogCheckInitial=60000
  16. TimeBetweenLocalCheckpoints=20 #
  17. SchedulerSpinTimer=400
  18. SchedulerExecutionTimer=100
  19. RealTimeScheduler=1
  20. BackupMaxWriteSize=2M
  21. BackupDataBufferSize=32M # 数据备份缓冲区大小
  22. BackupLogBufferSize=8M
  23. MaxNoOfExecutionThreads=4
  24. TransactionDeadLockDetectionTimeOut=15000 # 放弃事务之前,事务协调器等候另一结点执行查询的时间
  25. BatchSizePerLocalScan=512 # 计算锁定记录的数量
  26. LongMessageBuffer=16M # 在单个结点内和结点之间传递消息的内部缓冲
  27. HeartbeatIntervalDbDb=15000 # 每个数据结点发送心跳信号到SQL结点的间隔
  28. HeartbeatIntervalDbApi=15000
  29. FragmentLogFileSize=256M # 单个REDO日志文件的大小
  30. NoOfFragmentLogFiles=160 # 节点REDO日志文件的数量
  31. [ndb_mgmd]
  32. NodeId=1
  33. Hostname=172.16.131.139
  34. datadir=/var/lib/mysql-cluster
  35. [ndbd]
  36. NodeId=2
  37. Hostname=172.16.131.142
  38. datadir=/usr/local/mysql/data
  39. [ndbd]
  40. NodeId=3
  41. Hostname=172.16.131.144
  42. datadir=/usr/local/mysql/data
  43. [ndbd]
  44. NodeId=4
  45. Hostname=172.16.131.147
  46. datadir=/usr/local/mysql/data
  47. [MYSQLD]
  48. [MYSQLD]
  49. [MYSQLD]
  50. [MYSQLD]
  51. [API]
  52. [API]

NoOfReplicas=2 是数据节点的整数倍,即1:2 2:4

数据节点配置

  1. [mysqld]
  2. federated
  3. ndbcluster # run NDB storage engine
  4. ndb-connectstring=172.16.131.139 # location of management server
  5. # Options for ndbd process:
  6. [mysql_cluster]
  7. ndb-connectstring=172.16.131.139 # location of management server

建表

建表指定引擎 ENGINE=ndbcluster ,否则会出现数据库能同步,表不能同步现象

表操作进程查看

show full processlist;