- 浏览: 291750 次
文章分类
- 全部博客 (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 1528https://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 889说明:本文转自 简朝阳(MySQL ACE)的 《MyS ... -
基于InnoDB存储引擎的mysql数据库表结构详解
2012-12-07 22:05 3592前言 前一篇文章基于InnoDB存储引擎的mysql数 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(下)
2012-12-07 21:58 1342第六章、锁 锁是区别文件系统和数据库系统的一个关键 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(中)
2012-12-07 21:54 1524第四章、表 4.1 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(上)
2012-12-07 21:53 1649第一章、mysql体系结构和存储引擎 1.1、数据 ... -
由12306.cn谈谈网站性能技术
2012-10-17 16:35 95312306.cn网站挂了,被 ... -
mysql水平切分
2012-10-17 13:22 1272在大中型项目中,在 ... -
mysql主从复制(半同步方式)
2012-08-15 12:22 3024一、半同步复制原理介 ... -
淘宝开源 mysql 插件,让mysql像nosql一样使用
2012-06-29 17:28 1200http://rdc.taobao.com/team/jm/a ... -
mysql的几个主要分支
2012-06-29 17:11 1362http://www.percona.com/software ... -
mysql 添加用户,并对数据库授权
2011-12-07 11:46 1023use mysql; insert into user ... -
MySQL server has gone away 问题的解决方法
2011-04-11 11:27 10101、应用程序(比如PHP)长时间的执行批量的MYSQL语句。 ... -
DRBD 提升了 MySQL 的集群能力
2011-03-02 23:00 1021前几天 MySQL 站点上 ... -
MySQL复制实现互为主从双机热备
2011-03-02 22:55 1865A B 为两台MySQL服务器,均开启二进制日志,数据库版本 ... -
Mysql, DRBD, Heartbeat 实现数据库复制和数据库系统HA
2011-03-02 22:51 1540使用了两种技术来实现数据库之间的复制和高可用性(HA) DR ... -
Drbd + heartbeat + mysql replication来构建mysql的高可用性
2011-03-02 22:50 1402A(M)[192.168.33.11\192.168.43.1 ...
相关推荐
MySQL Cluster作为一种高级别的数据库集群解决方案,为企业级应用提供了强大的技术支持。通过对上述知识点的了解,我们可以更好地理解MySQL Cluster的核心技术和优势所在,为实际项目中的数据库选型提供参考依据。在...
基于Mysql的数据库集群设计与实现 本文讨论了基于Mysql的数据库集群设计与实现的相关知识点,涵盖Mysql数据库集群的意义和优势、设计、实现、管理等方面。 Mysql数据库集群的意义和优势 Mysql数据库集群是由多个...
MySQL Cluster是一种高度可用、可扩展的分布式数据库解决方案,它通过无共享架构实现了内存中的数据存储,旨在提高系统的高可用性和高实时性。MySQL Cluster的核心优势在于其能够支持多节点之间的数据复制和故障转移...
**MySQL数据库集群+负载均衡(LVS)** 这个主题涵盖了构建一个高可用性、高性能的MySQL集群,并通过负载均衡技术来实现对集群中多个MySQL实例请求的智能分发。这种架构能够显著提高系统的稳定性和响应速度,适用于大...
MySQL Cluster 是一种高性能、高可用性且可扩展的集群解决方案,主要用于在无共享架构中部署内存中的数据库集群。这种架构允许使用低成本的硬件设备,同时不依赖特定的软件或硬件配置。 #### 二、MySQL Cluster 的...
MySQL Cluster 作为一种高级的数据库集群解决方案,通过采用 NDB Cluster 存储引擎,不仅能够提高系统的可用性和性能,还能大大增强系统的可扩展性。通过合理规划和配置,MySQL Cluster 可以满足不同规模企业的业务...
MySQL Cluster是一种可扩展的、高性能的、容错能力强的集群数据库解决方案。它通过其独特的分布式架构设计,支持在多个节点间进行数据的复制和同步,能够提供高可用性和冗余性。对于想要搭建MySQL Cluster集群的新手...
MySQL集群的部署和实现涉及多个步骤,包括配置管理节点、数据节点和SQL节点,以及设置适当的故障检测和恢复机制。在实际操作中,还需要进行负载均衡的配置和测试,确保系统的稳定性和性能。测试方案通常包括模拟不同...
### Linux 下 MySQL Cluster 集群搭建详解 #### 一、基本概念 MySQL Cluster 是一个高性能、高可用性且易于管理的解决方案,适用于需要实时事务处理的应用场景。它基于 NDB 存储引擎,该存储引擎是事务型的并且...
MySQL 集群可以通过 Replication、Galera Cluster 和 MySQL Fabric 等方式实现。 Replication 是 MySQL 集群的最基本形式,通过主从复制来实现数据同步。Galera Cluster 是一种高可用性和高性能的 MySQL 集群解决...
通过使用 Galera Cluster,可以实现同步复制的多主MySQL集群,提高数据的一致性和可用性。 虚拟化技术的应用 虚拟化技术可以将一台计算机虚拟为多台逻辑计算机,每个逻辑计算机可以运行不同的操作系统,且应用程序...
综上所述,“MySQL分布式数据库集群高可用设计及应用”不仅涵盖了CAP定理的基本原理,还详细介绍了多种实现高可用性的具体技术方案,包括共享存储、DRBD、主从复制、多主模式以及MySQL Cluster架构。每种方案都有其...
MySQL 数据库集群配置详解 MySQL 集群是一种高可用、高性能的数据库解决方案,可以提供高可用性和高性能的数据库服务。MySQL 集群配置主要包括集群管理节点、存储节点和SQL节点三部分。 MySQL 集群配置主要步骤...
### MySQL Cluster 7.2.4 集群配置详解 #### 一、概述 本文档将详细介绍如何在三台服务器上部署一个 MySQL Cluster 7.2.4 的集群环境。MySQL Cluster 是一种高可用性解决方案,它允许数据在多台计算机之间进行复制...
MySQL-Cluster具有高可用性和负载均衡的特点,可以实现任意一台服务器出现问题或宕机时MySQL集群依然能够继续运行。同时,MySQL-Cluster也可以提供高性能和高可扩展性,可以满足大规模数据库应用的需求。 高可用性 ...
### Galera Cluster for ...通过以上步骤,您可以完成 Galera Cluster for MySQL 的部署,并且实现一个高效稳定的 MySQL 集群环境。需要注意的是,在实际部署过程中还需要根据具体情况调整配置参数以达到最佳效果。