- 浏览: 286279 次
文章分类
- 全部博客 (148)
- Shell (2)
- Python (4)
- Java (31)
- Javascript (4)
- Android (7)
- SQL优化 (0)
- Linux (5)
- webOS (4)
- MySQL (18)
- memcach redis (1)
- memcach (0)
- redis (3)
- memcache (2)
- svn (1)
- UED (1)
- 网络 (1)
- virtual box (1)
- git (1)
- Gitosis (1)
- 云计算 (2)
- 12306 (1)
- google (1)
- spdy (1)
- nginx (1)
- tomcat (2)
- SSL (2)
- lucene (2)
- 空间搜索 (1)
- lzo (1)
- 数据压缩 (1)
- ios (1)
- maven (1)
- elasticsearch (1)
- scribe (1)
- flume (1)
- jni (1)
- jna (1)
- hadoop (2)
- 大数据 (1)
最新评论
-
aa80303857:
不错,学习了。互相关注一下。
Sitemesh学习笔记 -
xiaozang:
...
关于nginx的rewrite重写规则 -
coderuncle:
楼主有没有研究过cloudera flume和apache f ...
scribe,flume -
奔跑的犀牛:
...
linux下自动启动mysql -
lsn_1212:
网上装svn的资源太多了,这个挺好的,说的挺全的。
SVN Server安装部署攻略(Linux+SubVersion+Apache)
最近一直在研究mysql的高可用性和负载均衡技术,对于数据库/数据表数目比较少的情况下,还是推荐mysql官方提供的mysql-cluster技术。
下面列出mysql相关HA技术方面的比较,可以根据你的需要来实现:
我采用debian系统来担任mysql服务器,操作起来比较方便。
准备两台机器:
192.168.10.172 ndb management, sql_node, data_node
192.168.10.173 sql_node, data_node
1、apt-get install mysql-server; 两台机器分别安装mysql-server 5.0,5.0自带cluster功能;
2、 cp /usr/share/doc/mysql-server-5.0/examples/ndb_mgmd.cnf /etc/mysql/ndb_mgmd.cnf,复制cluster management模板,并编辑成类似如下的信息:
cat /etc/mysql/ndb_mgmd.cnf
[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=10MB
IndexMemory=25MB
MaxNoOfTables=256
MaxNoOfOrderedIndexes=256
MaxNoOfUniqueHashIndexes=128
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
[NDB_MGMD]
Id=1 # the NDB Management Node (this one)
HostName=192.168.10.172
[NDBD]
Id=2 # the first NDB Data Node
HostName=192.168.10.172
DataDir= /var/lib/mysql
[NDBD]
Id=3 # the second NDB Data Node
HostName=192.168.10.173
DataDir=/var/lib/mysql
[MYSQLD]
Id=4 # the first SQL node
HostName=192.168.10.172
[MYSQLD]
Id=5 # the second SQL node
HostName=192.168.10.173
3、编辑/etc/mysql/my.cnf,类似如下信息,其实就是增加了红色部分内容:
more my.cnf |grep -v ^#
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
skip-bdb
ndbcluster
ndb-connectstring=192.168.10.172
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
[MYSQL_CLUSTER]
ndb-connectstring=192.168.10.172
!includedir /etc/mysql/conf.d/
4、scp my.cnf 192.168.10.173:/etc/mysql/ ,把mysql配置文件复制到另一台机器;
5、在192.168.10.172上运行 /etc/init.d/mysql-ndb-mgm restart; /etc/init.d/mysql-ndb restart; /etc/init.d/mysql restart 三个脚本;
6、在192.168.10.173运行 /etc/init.d/mysql-ndb restart; /etc/init.d/mysql restart 两个脚本;
7、任何一台机器运行下列命令,如果显示如下信息,证明全部运行成功:
ndb_mgm -e show
Connected to Management Server at: 192.168.10.172:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.10.172 (Version: 5.0.51, Nodegroup: 0, Master)
id=3 @192.168.10.173 (Version: 5.0.51, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.10.172 (Version: 5.0.51)
[mysqld(API)] 2 node(s)
id=4 @192.168.10.172 (Version: 5.0.51)
id=5 @192.168.10.173 (Version: 5.0.51)
8、登录mysql,验证数据同步和复制功能,DB2机器上必须要创建一个test的数据库,其他不用做就可以实现数据的同步和复制;
192.168.10.172
DB1:/etc/mysql# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 31
Server version: 5.0.51a-24+lenny4 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test
Database changed
mysql> create table mytable(id int(10),name varchar(10)) engine=ndbcluster;
Query OK, 0 rows affected (0.30 sec)
mysql> insert into mytable values(1,'Jone');
Query OK, 1 row affected (0.01 sec)
mysql> insert into mytable values(3,'Jane');
Query OK, 1 row affected (0.01 sec)
mysql> select * from mytable;
+------+------+
| id | name |
+------+------+
| 3 | Jane |
| 2 | Mark |
| 1 | Jone |
+------+------+
3 rows in set (0.01 sec)
192.168.10.173
DB2:~# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 5.0.51a-24+lenny4 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| mytable |
+----------------+
1 row in set (0.01 sec)
mysql> insert into mytable values(2,'Mark');
Query OK, 1 row affected (0.01 sec)
mysql> select * from mytable;
+------+------+
| id | name |
+------+------+
| 1 | Jone |
| 3 | Jane |
| 2 | Mark |
+------+------+
3 rows in set (0.00 sec)
经过以上操作就实现了mysql-cluster,快速/简单。
更多信息请查看官方参考手册:http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html
发表评论
-
mysql binlog分析工具
2013-01-26 22:45 1491https://github.com/tangfl/jbinl ... -
MySQL 百万级分页优化(Mysql千万级快速分页)
2012-12-07 22:30 0以下分享一点我的经验 一般刚开始学SQL的时候,会这样写 ... -
mysql共享表空间和独立表空间
2012-12-07 22:12 0innodb表的数据结构 innodb这种引擎 ... -
InnoDB之表空间
2012-12-07 22:12 0innoDB是MySQL的重要存储引擎,为数据提供了很好 ... -
MySQL 系统架构 说明
2012-12-07 22:07 847说明:本文转自 简朝阳(MySQL ACE)的 《MyS ... -
基于InnoDB存储引擎的mysql数据库表结构详解
2012-12-07 22:05 3542前言 前一篇文章基于InnoDB存储引擎的mysql数 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(下)
2012-12-07 21:58 1299第六章、锁 锁是区别文件系统和数据库系统的一个关键 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(中)
2012-12-07 21:54 1481第四章、表 4.1 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(上)
2012-12-07 21:53 1614第一章、mysql体系结构和存储引擎 1.1、数据 ... -
由12306.cn谈谈网站性能技术
2012-10-17 16:35 91812306.cn网站挂了,被 ... -
mysql水平切分
2012-10-17 13:22 1236在大中型项目中,在 ... -
mysql主从复制(半同步方式)
2012-08-15 12:22 2969一、半同步复制原理介 ... -
淘宝开源 mysql 插件,让mysql像nosql一样使用
2012-06-29 17:28 1165http://rdc.taobao.com/team/jm/a ... -
mysql的几个主要分支
2012-06-29 17:11 1322http://www.percona.com/software ... -
mysql 添加用户,并对数据库授权
2011-12-07 11:46 982use mysql; insert into user ... -
MySQL server has gone away 问题的解决方法
2011-04-11 11:27 9731、应用程序(比如PHP)长时间的执行批量的MYSQL语句。 ... -
DRBD 提升了 MySQL 的集群能力
2011-03-02 23:00 985前几天 MySQL 站点上 ... -
MySQL复制实现互为主从双机热备
2011-03-02 22:55 1830A B 为两台MySQL服务器,均开启二进制日志,数据库版本 ... -
Mysql, DRBD, Heartbeat 实现数据库复制和数据库系统HA
2011-03-02 22:51 1503使用了两种技术来实现数据库之间的复制和高可用性(HA) DR ... -
Drbd + heartbeat + mysql replication来构建mysql的高可用性
2011-03-02 22:50 1362A(M)[192.168.33.11\192.168.43.1 ...
相关推荐
完整的mysql-cluster文档。共276页,详细介绍mysql-cluster。
mysql cluster集群介绍,及其实现架构
详细讲述了lvs+keepalived+mysql cluster集群,非常不错的资源,其中还有mysql各节点配置的详细参数的解释!
MySQL Cluster集群构建实战
MySQL Cluster(MySQL 集群) 测试环境: CentOS4.6 数据库版本: mysql-cluster-gpl-6.3.20
MySQL Cluster 是专门用来做MySQL集群的程序,简单来讲它是一种技术,该技术能够在无共享的系统中部署内存中数据库的“Cluster”,通过无共享体系结构,系统能够使用各种廉价的硬件,并对所有硬件没有任何特殊的要求...
对 MySQL Cluster 集群数据库误操作的一些预防措施和误操作后进行数据恢复的三种方案:通过解析二进制日志生成逆向操作脚本进行恢复、通过全库备份及二进制日志进行恢复、通过延迟备库及二进制日志进行恢复,并给出...
简单使用Mysql-Cluster-7.5搭建数据库集群 简单使用Mysql-Cluster-7.5搭建数据库集群
当前,随着互联网深入应用、云计算走向成熟,大数据晋升为一个时髦词汇。大数据统计降临到商业、经济、政治等领域,...而本文将围这些技术以mysql-cluster集群展开探讨,旨在为读都身体力行式的感受大数据存储机制。
搭建mysql-cluster集群.docx
MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署"内存中"数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点...
一本很的讲述Mysql数据库的集群方面的书籍,英文原版。
linux下MySQL-Cluster集群研究.doc linux下MySQL-Cluster集群研究.doc linux下MySQL-Cluster集群研究.doc linux下MySQL-Cluster集群研究.doc linux下MySQL-Cluster集群研究.doc
用于新手搭建学习,高手飘过。搭建过程中,注意各系统的环境不一致,可能会出现其他错误
MySQL_Cluster集群配置方案MySQL_Cluster集群配置方案MySQL_Cluster集群配置方案
ndb是一种存储引擎,通常在mysql cluster中使用,MySQL Cluster 是一个基于NDB Cluster 存储引擎的完整的分布式数据库系统。 和Oracle Real Cluster Application 不太一样的是,MySQL Cluster 是一个Share Nothing ...
很详细的双机集群技术文档,特别适合做实验用
Mysql Cluster(集群)的概念和架构
MySQL集群搭建详细介绍及实现,3常用命令或问题 1)ndb_mgmd管理命令:/usr/local/mysql/bin/ndb_mgm 执行之后就是管理控制台了,里面可以继续输入命令。 查看集群里面的全部节点的状态:show 2)停止集群服务器的...
MySQL Cluster CGE 是一个分布式、高度可用的实时数据库,部署在电信行业的一些最严苛的用户数据库系统中。在本文中,我们将介绍如何使用 MySQL Cluster 运营商级版本 (CGE) 构建可扩展、高度可用、多地多副本的用户...