- 浏览: 520271 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
大家在网上都能找到都是RedHat系统等等,对Ubuntu系统MySQL集群就没有介绍文章
我现在写写Ubuntu这个MySQL集群方法。新手不要骂我,呵呵。
介绍网络环境:
测试环境:
- Server1: ndbd 192.168.245.11
- Server2: ndbd 192.168.245.12
- Server3: mysqld –ndb-cluster 192.168.245.13
ndbd: 数据库节点。
mysqld –ndb-cluster: MySQL服务器节点,程序直接访问的是这台机器的IP。默认端口仍是3306。
ndbd_mgm ndbd_mgmd:管理节点。管理/查看各库节点和服务器节点的状态。
二、集群方案
1.管理节点:server3(192.168.245.13)
2.存储节点:server1(192.168.245.11),server2(192.168.245.12)
3.SQL节点:server1(192.168.245.11),server2(192.168.245.12),server3(192.168.245.13)
三、mysql安装和配置
1.安装,sudo apt-get install mysql-server
2.配置这三台服务器上配置my.cnf,这三台服务器都要配置
- vim /etc/mysql/my.cnf
- —————————————–my.cnf开始——————————————–
- Ubuntu@ubuntu:~$ cat /etc/mysql/my.cnf
- #
- # The MySQL database server configuration file.
- #
- # You can copy this to one of:
- # - “/etc/mysql/my.cnf” to set global options,
- # - “~/.my.cnf” to set user-specific options.
- #
- # One can use all long options that the program supports.
- # Run program with –help to get a list of available options and with
- # –print-defaults to see which it would actually understand and use.
- #
- # For explanations see
- # http://dev.mysql.com/doc/mysql/en/serve ... ables.html
- # This will be passed to all mysql clients
- # It has been reported that passwords should be enclosed with ticks/quotes
- # escpecially if they contain “#” chars…
- # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
- [client]
- port = 3306
- socket = /var/run/mysqld/mysqld.sock
- # Here is entries for some specific programs
- # The following values assume you have at least 32M ram
- # This was formally known as [safe_mysqld]. Both versions are currently parsed.
- [mysqld_safe]
- socket = /var/run/mysqld/mysqld.sock
- nice = 0
- [mysqld]
- #
- # * Basic Settings
- #
- #
- # * IMPORTANT
- # If you make changes to these settings and your system uses apparmor, you may
- # also need to also adjust /etc/apparmor.d/usr.sbin.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
- #
- # Instead of skip-networking the default is now to listen only on
- # localhost which is more compatible and is not less secure.
- # bind-address = 127 .0.0.1
- #
- # * Fine Tuning
- #
- key_buffer = 16M
- max_allowed_packet = 16M
- thread_stack = 128K
- thread_cache_size = 8
- # max_connections = 100
- # table_cache = 64
- # thread_concurrency = 10
- #
- # * Query Cache Configuration
- #
- query_cache_limit = 1M
- query_cache_size = 16M
- #
- # * Logging and Replication
- #
- # Both location gets rotated by the cronjob.
- # Be aware that this log type is a performance killer.
- # log = /var/log/mysql/mysql.log
- #
- # Error logging goes to syslog. This is a Debian improvement
- #
- # Here you can see queries with especially long duration
- # log_slow_queries = /var/log/mysql/mysql-slow.log
- # long_query_time = 2
- #log-queries-not-using-indexes
- #
- # The following can be used as easy to replay backup logs or for replication.
- # note: if you are setting up a replication slave, see README.Debian about
- # other settings you may need to change.
- # server-id = 1
- # log_bin = /var/log/mysql/mysql-bin.log
- expire_logs_days = 10
- max_binlog_size = 100M
- # binlog_do_db = include_database_name
- # binlog_ignore_db = include_database_name
- #
- # * BerkeleyDB
- #
- # Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
- skip-bdb
- #
- # * MyISAM
- #
- # MyISAM is enabled by default with a 10MB datafile in /var/lib/mysql/.
- # Read the manual for more MyISAM related options. There are many!
- # You might want to disable MyISAM to shrink the mysqld process by circa 100MB.
- #skip-innodb
- #
- # * Security Features
- #
- # Read the manual, too, if you want chroot!
- # chroot = /var/lib/mysql/
- #
- # For generating SSL certificates I recommend the OpenSSL GUI “tinyca”.
- #
- # ssl-ca =/etc/mysql/cacert.pem
- # ssl-cert =/etc/mysql/server-cert.pem
- # ssl-key =/etc/mysql/server-key.pem
- ndbcluster
- ndb-connectstring = 192 .168.245.13
- [mysqldump]
- quick
- quote-names
- max_allowed_packet = 16M
- [mysql]
- #no-auto-rehash # faster start of mysql but no tab completition
- [isamchk]
- key_buffer = 16M
- #
- # * NDB Cluster
- #
- # See /usr/share/doc/mysql-server-*/README.Debian for more information.
- #
- # The following configuration is read by the NDB Data Nodes (ndbd processes)
- # not from the NDB Management Nodes (ndb_mgmd processes).
- #
- [MYSQL_CLUSTER]
- ndb-connectstring = 192 .168.245.13
- #
- # * IMPORTANT: Additional settings that can override those from this file!
- # The files must end with ‘.cnf’, otherwise they’ll be ignored.
- #
- !includedir /etc/mysql/conf.d/
- Ubuntu@ubuntu:~$
- ———————————my.cnf结束———————————————————
主要在:[mysqld]下添加:
- ndbcluster
- ndb-connectstring = 192 .168.245.13
和添加
- [MYSQL_CLUSTER]
- ndb-connectstring = 192 .168.245.13
上面三台服务器都要一样
2.配置ndb_mgmd.cnf(192.168.245.13服务器上配置)
复制/usr/share/doc/mysql-server-5.0/examples/ndb_mgmd.cnf到/etc/mysql/ndb_mgmd.cnf
编辑ndb_mgmd.cnf
- ——————-开始————
- Ubuntu@ubuntu:~$ 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.245.13
- DataDir = /var/lib/mysql-cluster
- [NDBD]
- Id = 2 # the first NDB Data Node
- HostName = 192 .168.245.11
- DataDir = /var/lib/mysql-cluster
- [NDBD]
- Id = 3 # the second NDB Data Node
- HostName = 192 .168.245.12
- DataDir =/var/lib/mysql-cluster
- [MYSQLD]
- Id = 4 # the first SQL node
- HostName = 192 .168.245.13
- [MYSQLD]
- Id = 5 # the first SQL node
- HostName = 192 .168.245.11
- [MYSQLD]
- Id = 6 # the first SQL node
- HostName = 192 .168.245.12
- Ubuntu@ubuntu:~$
- ——————-结束————
先启动:
13服务器:
- sudo /etc/init.d/mysql-ndb-mgm start
然后启动
11.12服务器
- sudo /etc/init.d/mysql-ndb start
最后启动,13.11.12服务器mysql服务
- sudo /etc/init.d/mysql start
测试:
13服务器上:
- neo@mgm:~$ ndb_mgm
- – NDB Cluster — Management Client –
- ndb_mgm > show
- Connected to Management Server at: localhost:1186
- Cluster Configuration
- ———————
- [ndbd(NDB)] 2 node(s)
- id = 2 @192.168.245.11 (Version: 5.0.51, Nodegroup: 0)
- id = 3 @192.168.245.12 (Version: 5.0.51, Nodegroup: 0, Master)
- [ndb_mgmd(MGM)] 1 node(s)
- id = 1 @192.168.245.13 (Version: 5.0.51)
- [mysqld(API)] 2 node(s)
- id = 4 @192.168.245.13 (Version: 5.0.51)
- id = 5 @192.168.245.11 (Version: 5.0.51)
- id = 5 @192.168.245.12 (Version: 5.0.51)
- ndb_mgm >
与没有使用簇的MySQL相比,在MySQL簇内操作数据的方式没有太大的区别。
执行这类操作时应记住三点
1.表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或 用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
2.另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。
3.当你在一个节点上运行create database mydb;你去其他sql node上执行show databases;将不能看到mydb,你需要创建它,然后use mydb; show tables;你将看到同步的表。
- SQL Node 1
- neo@sql:~$ mysql -uroot -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or g.
- Your MySQL connection id is 7
- Server version: 5.0.51a-3Ubuntu5.1 (Ubuntu)
- Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
- mysql > create database cluster;
- Query OK, 1 row affected (0.00 sec)
- mysql > use cluster
- Database changed
- mysql > create table city( id mediumint unsigned not null auto_increment primary key,
- name varchar(20) not null default ” ) engine = ndbcluster default
- charset utf8;
- Query OK, 0 rows affected (1.07 sec)
- mysql > insert into city values(1, ‘Shenzhen’);
- Query OK, 1 row affected (0.12 sec)
- mysql > insert into city values(2, ‘Guangdong’);
- Query OK, 1 row affected (0.00 sec)
- SQL Node 2
- neo@sql:~$ mysql -uroot -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or g.
- Your MySQL connection id is 7
- Server version: 5.0.51a-3Ubuntu5.1 (Ubuntu)
- Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
- mysql > show databases;
- ——————–
- | Database |
- ——————–
- | information_schema |
- | example |
- | mydb |
- | mysql |
- | neo |
- ——————–
- 6 rows in set (0.13 sec)
- mysql > create database cluster;
- Query OK, 1 row affected (0.00 sec)
- mysql > show databases;
- ——————–
- | Database |
- ——————–
- | information_schema |
- | cluster |
- | example |
- | mydb |
- | mysql |
- | neo |
- ——————–
- 6 rows in set (0.13 sec)
- mysql > use cluster;
- 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_cluster |
- ——————-
- | city |
- ——————-
- 1 row in set (0.01 sec)
- mysql > select * from city;
- —- ———–
- | id | name |
- —- ———–
- | 1 | Shenzhen |
- | 2 | Guangdong |
- —- ———–
- 2 rows in set (0.03 sec)
- mysql >
发表评论
-
存储过程
2013-02-15 18:44 768CREATE DEFINER=`root`@`loca ... -
oracle连接池配置 oci
2012-02-27 00:48 2326这些细节包括: 1、导 ... -
(转)PowerDesigner 连接oracle表与数据库中的表导入到PowerDesigner中
2011-10-11 09:55 1330PowerDesigner 连接oracle直接生成数据库中的 ... -
Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
2011-09-27 14:51 866Oracle数据导入导出imp/e ... -
MySql性能的检查和调优方法
2011-03-06 04:30 837转自:http://www.sudone.com/ ... -
关系数据库还是NoSQL数据库
2011-02-12 22:24 1029上一篇 简单的说明了 ... -
NoSQL开篇——为什么要使用NoSQL
2011-02-12 22:22 928非常荣幸能受邀在Inf ... -
两个库数据对copy
2010-12-08 10:10 850insert into lxx2.t_info_interfa ... -
Mysql 数据库缓存cache功能总结[转]
2010-12-01 21:28 3039mysql cache功能分析: 1 mysql的ca ... -
MySQL集群简介与配置详解
2010-12-01 21:05 10911. 先了解一下你是否应该用MySQL集群。 减少数据中 ... -
Oracle集群的概念
2010-12-01 20:50 1411大多数情况下,Oracle集群实质上就是使多个服务器访问同一个 ... -
比较经典的sql
2010-11-17 17:26 1098学生成绩表(stuscore): ... -
SQL面试题[经典收录]
2010-11-17 17:01 1220SQL面试题(1) create table tes ... -
SQL基础实例(学生课程系统)
2010-11-17 16:52 1201drop table student,course ... -
Oracle执行外部文件:
2010-11-03 10:19 1103Oracle 执行外部文件: c:>sqlplu ...
相关推荐
只需在需要事务的Service层方法上添加@Transactional注解,Spring会自动管理事务的开始、提交或回滚。 5. **高可用性和负载均衡**:在Spring中,可以使用Ribbon或Hystrix组件实现对MySQL集群的负载均衡。这些组件会...
8. **创建集群配置文件**:在`/var/lib/mysql-cluster`目录下创建`config.ini`配置文件,定义集群的节点类型、数量以及数据存储位置。例如,配置一个管理节点(ndb_mgmd),两个数据节点(ndbd)和两个SQL节点...
"Linux MySQL集群环境搭建" 在Linux系统下,MySQL集群的搭建是一个复杂的过程,它需要oroughly...搭建MySQL集群环境需要oroughly了解MySQL集群的概念、架构和配置,并且需要根据实际情况选择合适的安装和配置方法。
在搭建MYSQL集群时,需要注意防火墙的配置,以确保集群节点之间的通信。 Knowledge Point 4:MYSQL集群的配置文件 MYSQL集群的配置文件是使用INI格式的,包括管理节点、数据节点和SQL节点的配置信息。配置文件中...
MySQL 集群配置主要包括管理节点配置和数据节点配置。管理节点配置需要配置管理节点服务器的日志文件和配置文件。数据节点配置需要配置数据节点服务器的日志文件和配置文件。 5. MySQL 集群的优点 MySQL 集群...
在本文中,我们将详细介绍如何在Rocky Linux 9.0系统上使用`yum`命令安装MySQL 8.0,以及安装后的配置步骤,包括启动服务、添加自启动、登录、重置密码、开放远程连接、防火墙设置等关键操作。 **一、检查与安装** ...
我们将介绍如何在 3 台服务器上安装和配置 MySQL 集群,包括 Server1、Server2 和 Server3,其中 Server1 和 Server2 作为实际的 MySQL 数据库集群的服务器,而 Server3 作为管理节点服务器。 一、Linux MySQL 集群...
资源:MySQL安装包 Ubuntu 版本:8.0.20 Ubuntu版本:18.04 资源名称:mysql-server_8.0.20-1ubuntu18.04_amd64.deb-bundle.tar
MySQL 5.1在5.0版本的基础上增加了许多功能,例如分区表、存储过程、触发器、视图等,这使得它在企业级应用中更加成熟和稳定。其性能优异,易于安装和管理,被广泛应用于网站开发、数据存储和分析等领域。 Navicat...
本文将详细介绍如何在Ubuntu上安装MySQL,以及涉及的配置文件和编码设置。 首先,安装MySQL的过程通常通过Ubuntu的包管理器`apt`进行。打开终端并执行以下命令来更新系统软件库: ```shell sudo apt update ``` ...
在本方案中,我们将探讨MySQL集群的构建、工作原理以及其在实际应用中的优势和挑战。 一、MySQL集群概述 MySQL集群(MySQL Cluster)是MySQL数据库系统的一个特性,它通过将数据分布在多个节点之间来实现高可用性...
Windows环境下MySQL集群的搭建,使用了三个节点,第一个节点作为管理节点,第二个节点作为数据节点A和SQL节点A,第三个节点作为数据节点B和SQL节点B。 此外,还演示了如何使用图形化客户端管理MySQL集群,新建数据库...
MySQL.Data 是 MySQL 官方提供的一款用于 .NET 开发的数据库连接库,版本6.9.9.0是该库的一个特定发行版。这个库使得.NET开发者能够方便地在他们的应用程序中与MySQL数据库进行交互,支持多种.NET语言,如C#、VB.NET...
Galera Cluster for MySQL 8.0集群(Ubuntu)适用于Ubuntu系统,文件使用WinRAR分割三个压缩包,必须一起下载使用。 文件1: https://download.csdn.net/download/weixin_43800734/88369787 文件2: ...
Galera Cluster for MySQL 8.0集群(Ubuntu)适用于Ubuntu系统,文件使用WinRAR分割三个压缩包,必须一起下载使用。 文件1: https://download.csdn.net/download/weixin_43800734/88369787 文件2: ...
Galera Cluster for MySQL 8.0集群(Ubuntu)适用于Ubuntu系统,文件使用WinRAR分割三个压缩包,必须一起下载使用。 文件1: https://download.csdn.net/download/weixin_43800734/88369787 文件2: ...
在评估MySQL集群的实施之前,了解其架构、组件以及它们之间的交互是非常必要的。 首先,MySQL集群由多种不同类型的节点组成,主要包括数据节点(Data Nodes 或 Application Nodes)、管理节点(Management Nodes)...
“MySQL 集群配置”这一主题主要涉及MySQL集群的基本概念、配置方法以及如何通过合理的配置来实现高可用性和负载均衡。MySQL集群是一种基于复制技术的数据分布系统,它可以将数据分布在多个节点上,以提高系统的处理...