当前位置:首页 » 操作系统 » 分布式mysql数据库

分布式mysql数据库

发布时间: 2023-08-22 03:30:02

① mysql如何做成分布式

MySQL做分布式需要通过ndb的Cluster来实现。 MySQLCluster是MySQL适合于分布式计算环境的高实用、高冗余版本。 实现的步骤比较复杂,网络云案例:《MySQLCluster(MySQL集群)分布式》 下载地址:

② 单机MySQL数据库怎么做成分布式数据库集群

可以采用开源的MyCat解决方案,优点是免费,缺点是出现问题可能要自己解决或者去社区寻找解决方案;

也可以采用北京万里开源软件有限公司的集群解决方案,后端使用开源的MySQL存储数据,优点是有任何问题他们都可以帮忙解决,而且不用担心系统后续的扩展、集群高可用等情况,他们的工程师还开发过MySQL核心代码,找他们可以睡个安稳觉,缺点是不免费,他们还有自己的国产数据库GreatDB,100%兼容MySQL。

对于初创企业,可以考虑选择免费的开源解决方案,毕竟遇到的问题可能有限,如果要想长期稳定发展,还是选择万里开源这样的公司比较靠谱一些。

③ Mysql数据库的安全配置、实用技巧


1、前言
MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL 数据库的程序,特别是与PHP更是黄金组合,运用十分广泛。
由于MySQL是多平台的数据库,它的默认配置要考虑各种情况下都能适用,所以在我们自己的使用环境下应该进行进一步的安全加固。作为一个MySQL的系统管理员,我们有责任维护MySQL数据库系统的数据安全性和完整性。
MySQL数据库的安全配置必须从两个方面入手,系统内部安全和外部网络安全,另外我们还将简单介绍编程时要注意的一些问题以及一些小窍门。
2、系统内部安全
首先简单介绍一下MySQL数据库目录结构。MySQL安装好,运行了mysql_db_install脚本以后就会建立数据目录和姿手初始化数据库。如果我们用MySQL源码包安装,而且安装目录是/usr/local/mysql,那么数据目录一般会是/usr/local/mysql/var。数据库系统由一系列数据库组成,每个数据库包含一系列数据库表。MySQL是用数据库名在数据目录建立建立一个数据库目录,各数据库表分别以数据库表名作为文件名,扩展名分别为MYD、MYI、frm的三个文件放到数据库目录中。
MySQL的授权表给数据库的访问提供了灵活的权限控制,但是如果本地用户拥有对库文件的读权限的话,攻击者只需把数据库目录打包拷走,谨哪然后拷到自己本机的数据目录下就祥册码能访问窃取的数据库。所以MySQL所在的主机的安全性是最首要的问题,如果主机不安全,被攻击者控制,那么MySQL的安全性也无从谈起。其次就是数据目录和数据文件的安全性,也就是权限设置问题。
从MySQL主站一些老的binary发行版来看,3.21.xx版本中数据目录的属性是775,这样非常危险,任何本地用户都可以读数据目录,所以数据库文件很不安全。3.22.xx版本中数据目录的属性是770,这种属性也有些危险,本地的同组用户既能读也能写,所以数据文件也不安全。3.23.xx版本数据目录的属性是700,这样就比较好,只有启动数据库的用户可以读写数据库文件,保证了本地数据文件的安全。
如果启动MySQL数据库的用户是mysql,那么象如下的目录和文件的是安全的,请注意数据目录及下面的属性:
shellls -l /usr/local/mysql
total 40
drwxrwxr-x 2 root root 4096 Feb 27 20:07 bin
drwxrwxr-x 3 root root 4096 Feb 27 20:07 include
drwxrwxr-x 2 root root 4096 Feb 27 20:07 info drwxrwxr-x 3 root root 4096 Feb 27 20:07 lib drwxrwxr-x 2 root root 4096 Feb 27 20:07 libexec drwxrwxr-x 3 root root 4096 Feb 27 20:07 man drwxrwxr-x 6 root root 4096 Feb 27 20:07 mysql-test drwxrwxr-x 3 root root 4096 Feb 27 20:07 share drwxrwxr-x 7 root root 4096 Feb 27 20:07 sql-bench drwx------ 4 mysql mysql 4096 Feb 27 20:07 var
shellls -l /usr/local/mysql/var
total 8
drwx------ 2 mysql mysql 4096 Feb 27 20:08 mysql
drwx------ 2 mysql mysql 4096 Feb 27 20:08 test
shellls -l /usr/local/mysql/var/mysql
total 104
-rw------- 1 mysql mysql 0 Feb 27 20:08 columns_priv.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 columns_priv.MYI
-rw------- 1 mysql mysql 8778 Feb 27 20:08 columns_priv.frm
-rw------- 1 mysql mysql 302 Feb 27 20:08 db.MYD
-rw------- 1 mysql mysql 3072 Feb 27 20:08 db.MYI
-rw------- 1 mysql mysql 8982 Feb 27 20:08 db.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 func.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 func.MYI
-rw------- 1 mysql mysql 8641 Feb 27 20:08 func.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 host.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 host.MYI
-rw------- 1 mysql mysql 8958 Feb 27 20:08 host.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 tables_priv.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 tables_priv.MYI
-rw------- 1 mysql mysql 8877 Feb 27 20:08 tables_priv.frm
-rw------- 1 mysql mysql 428 Feb 27 20:08 user.MYD
-rw------- 1 mysql mysql 2048 Feb 27 20:08 user.MYI
-rw------- 1 mysql mysql 9148 Feb 27 20:08 user.frm
如果这些文件的属主及属性不是这样,请用以下两个命令修正之:
shellchown -R mysql.mysql /usr/local/mysql/var
shellchmod -R go-rwx /usr/local/mysql/var

④ Mysql变成分布式数据库

1、amoeba相当于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。用户需要结合使用MySQL的Replication等机制来实现副本同步等功能。amoeba对底层数据库连接管理和路由实现也采用了可插拨的机制,第三方可以开发更高级的策略类来替代作者的实现。这个程序总体上比较符合KISS的思想。
2、由上一条,建议使用MySQL的Replication机制建立Master-Slave来做副本。我一开始理解有误,使用了amoeba的virtual DB(负载均衡pool)做writePool,结果使得本应插入同一个表中的数据被拆分地写入了不同的物理数据库中。这样自然与副本的语义不符了。
3、amoeba已经实现了数据的垂直切分与水平切分。水平切分方面,粒度是行。使用SQLJEP语句可以设计出复杂的切分规则,个人认为是比较强大的。垂直切分的粒度是表,可以把针对不同表的请求发送到不同的节点上执行,但不能以列作为分片粒度。从作者的说法看,amoeba不做SQL解析和重写。在目前的机制下似乎是难以实现同一个表不同的列在不同节点上的分布。不过对开发人员来说,设计良好的表结构应该可以实现简单的基于关系属性的负载均衡的。

⑤ 国内做MySQL分布式数据库厂家有哪些

国内的数据库厂家有很多,像万里开源、创意信息、南通、神通等。
其中万里开源是前MySQL中国研发中心,先后与MySQL AB、SUN、Oracle合作研发过MySQL核心代码。与MySQL联合研发期间主要的贡献集中在Replication复制模块与NDBCluster模块,对分布式数据库集群的研发和经验积累已经有约14年,对MySQL内核以及分布式数据库集群有着深刻的理解与技术沉淀,目前拥有约80余项技术专利与软件着作权。目前万里开源具有员工180+人,其中数据库技术团队约100+人,技术团队的组成以985和211毕业生为主。
而且,万里开源还是创意信息控股的子公司,创意信息技术股份有限公司(股票代码:300366)成立于1996年,2014年在深交所创业板上市,总部位于成都。依托上市公司资源,
无论从公司实力还是研发背景上来看,万里开源都是一家做分布式数据库不错的公司。

⑥ 数据库有哪几种

数据库有:

1、MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS应用软件之一。

2、SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。

3、MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

4、Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

5、memcache是一套分布式的高速缓存数据库系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显着。

⑦ 分布式系统为什么要选mysql数据库

分布式系统看它是否支持事务,如果用在统计分析场景中,不需要支持事务,这时候分布式的各个节点,选择列存储更好,选择mysql是一种错误,它不适合分析型场景。
如果是事务场景,并发数和数据量都极大,需要分布式场景, 将数据按照一定的规则分布在不同的服务器(节点)上,每个节点采用某类型的行存数据库, 如果要满足需求的行存数据库需要有以下特点
1、支持事务;
2、支持高并发的能力;
3、在与分布式中间件通讯时,能够为了适配业务的需求,可以做些定制开发;
4、数据量增大,进行拓展的时候,数据操作方便;
5、核心组件升级容易;
6、维护容易;
综上所述,目前可选的 是mysql为最优。

热点内容
安卓怎么连接电脑用鼠标 发布:2025-03-07 08:52:55 浏览:311
大数据与数据库的关系 发布:2025-03-07 08:48:20 浏览:288
取幂C语言 发布:2025-03-07 08:43:10 浏览:488
高考解压性 发布:2025-03-07 08:43:10 浏览:690
搜狐广告服务器是什么 发布:2025-03-07 08:36:45 浏览:147
csgo稳定fps要什么配置 发布:2025-03-07 08:35:01 浏览:404
matlab粒子群优化算法 发布:2025-03-07 08:13:49 浏览:249
编译原理翻译 发布:2025-03-07 08:08:01 浏览:592
安卓光遇测试服为什么服务器错误 发布:2025-03-07 08:05:53 浏览:551
火狐缓存文件夹 发布:2025-03-07 08:05:51 浏览:113