精华内容
下载资源
问答
  • MYSQL课程设计

    2011-11-17 21:39:09
    MYSQL课程设计 企业客户管理系统 数据库分析
  • MySQL课程设计MySQL课程设计MySQL课程设计MySQL课程设计MySQL课程设计MySQL课程设计
  • PAGE PAGE 5 MYSQL课程设计指导书 一课程设计题目 教务管理系统设计 二课程设计的目的和意义 教务管理系统是学校管理信息系统建设的重要组成部分是提高教学管理的质量和效果的关键环节教学教务信息处理的电脑化网络...
  • MySQL课程设计实习任务指导书
  • mysql课程设计——寝室电费系统 本系统是为寝室电费工作做贡献。
  • JSP+MYSQL课程设计

    2014-06-19 20:27:14
    基于JSP+MYSQL web 开发课程设计
  • mysql课程设计 mysql设计 销售管理系统 包含word文档,表结构,sql语句,详细说明,演示课件,视图,UML,利用到了触发器,时间等
  • mysql文件
  • 一个简单的mysql练习实训题目,测试自己对其的掌握程度!
  • 教务系统——mysql课程设计

    千次阅读 2016-07-01 18:58:28
    本系统是一个单机版的小型教务管理系统,分为3个模块,分别为管理员模块,老师模块,学生模块。对管理员提供的服务有登录开设学生...使用java编写,数据库采用mysql。 1.用例图。 2.数据库E-R图。 3.系统部分界面

    本系统是一个单机版的小型教务管理系统,分为3个模块,分别为管理员模块,老师模块,学生模块。对管理员提供的服务有登录开设学生和教师帐号、删除学生和教师帐号的服务;对教师提供的服务有登录、修改登录密码和登录成绩;对学生提供的服务有登录、选课、修改登录密码、和查询成绩这几个服务。使用java编写,数据库采用mysql。

    1.用例图。



    2.数据库E-R图。


    3.系统部分界面




    总结:在整个编写的过程中,最大的差错就是觉得是一个小型的系统,没有想好就开动手写代码,以至于之后发现数据库设计等并不合理而不得不修修改改。


    代码:http://download.csdn.net/detail/veson__/9671396


    展开全文
  • 河南中医学院 《MySQL数据库管理》课程设计报告 题目:MySQL集群的研究与实现 完成日期: 2012 年 12 月 31 日 目 录 1. 课程设计题目概述. 3 2. 研究内容与目的. 3 3. 研究方法. 4 3.1研究方法……………………...

    河南中医学院

    《MySQL数据库管理》课程设计报告

     题目:MySQL集群的研究与实现

     

     

     

    完成日期:  2012 年 12 月 31 日

     

    目  录

    1. 课程设计题目概述. 3

    2. 研究内容与目的. 3

    3. 研究方法. 4

    3.1研究方法……………………………………………………………………….. 4

    3.2实验方法………………………………………………………………………… 5

    3.3可行性分析..………………………………………………………………………….....  5

    4. 研究报告. 10

       4.1规划阶段………………………………………………………………………… 10

       4.2安装Mysql server……………………………………………………………… 10

       4.3安装Mysql Cluster……………………………………………………………. 11

       4.4配置管理节点…………………………………………………………………… 11

    4.5配置SQL节点…………………………………………………………………….13

    4.6 配置存储节点……………………………………………………………………13

    4.7启动MySQL Cluster…………………………………………………………….13

    4.8关闭MySQL Cluster……………………………………………………………..14

    4.9数据测试………………………………………………………………………… 14

    4.10安全关闭………………………………………………………………………. 14

    5. 测试报告/实验报告………………………………………………………………...15

    6. 课题研究结论……………………………………………………………………....22

    7. 总结…………………………………………………………………………………. 23

     

     

     


    1.课程设计题目概述

    MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

    MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。MySQL Cluster的NDB存储引擎包含完整的数据集,仅取决于 Cluster本身内的其他数据。

    目前,MySQL Cluster的 Cluster部分可独立于MySQL服务器进行配置。在MySQL Cluster中, Cluster的每个部分被视为1个节点。

    【关键字】:集群 MySQL Cluster

    2. 研究内容与目的

    研究目的:

    伴随着企业的成长,在业务量提高的同时,系统的访问量和数据流量的快速增长,其处理能力和计算强度也相应增大,使得单一设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量的需求。于是,人们希望通过几个中小型服务器组建集群,实现数据库的负载均衡,在需要更高数据库处理速度,我们只要简单地增加数据库服务器就可以得到扩展。

    数据库作为应用系统的核心,在企业的IT系统中起着非常重要的作用,单一设备根本无法保证系统的持续运行,发生系统故障,严重影响系统的正常运行,甚至带来巨大的经济损失。于是人们希望通过组建数据库集群,来保证系统的可用性,一旦某节点发生故障,系统会自动故障转移,实现系统的持续工作。

    企业的数据是企业的一些重要信息,一些核心数据甚至关系着企业的命脉,单一设备根本无法保证数据的安全性,一旦发生丢失,很难再找回来,于是人们希望通过组建数据库集群,实现数据集群的冗余,通过多份数据来保证安全性。

    MySql是一种在目前被广泛使用着开源的免费的数据库,在中小型数据应用中,一般单台MySql服务器就能满足要求了,但对于大型WEB或其他应用下,巨量的数据存储访问,单台MySql服务器就不能很好地胜任了,而要使多台MySql服务器协同工作,不但要考虑MySql服务器集群结构,要考虑MySql服务器的HA热备问题,还要考虑各服务器之间负载均衡问题。

    研究内容:

    随着计算机应用的普及,数据库已经成为构建电子商务的关键服务之一。虽然集群技术很好地解决了提高访问容量的问题(如c009le等搜索门户网站),但数据库却成为网站的瓶颈,因为为了避免数据一致性问题,网站多采用单一的数据库服务器为所有网页服务提供数据,当访问量提高时,单个数据库服务器往往不堪重负。即使按照过去最优配置建设的服务器系统可能也无法承担访问量的爆炸性增长。因此,需要创建具有良好可扩展性和卓越性能价格比的网络数据库服务器,以满足快速增长的访问量和数据流量需求。

    这就需要使用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力,即数据库集群。

    采用Linux系统,可以提高客户工作站运行的可靠性和稳定性,获得高可用性服务器。在Linux系统下一种双机互备份工作方式的MySQL数据库集群的具体实现方案,实现了高可用性集群服务器。两个相对独立的应用在两台机器同时运行,但彼此均设为备份机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。

    3. 研究方法

    3.1研究方法

    实验法

    3.2实验方法

    (1)先使用三台主机搭建一个集群,分别作为管理节点、数据节点、SQL节点

    <1> 在主节点上创建数据库、新建数据表、插入数据

    <2> 在非主节点上查看主节点数据更新情况

    <3> 在非主节点上上创建数据库、新建数据表、插入数据

    <4> 在主节点上查看非主节点数据更新情况

    (2)使用三台主机搭建一个集群,其中一台作为管理节点,另两台分别作为数据节点和SQL节点

    <1> 在主节点上创建数据库、新建数据表、插入数据

    <2> 在非主节点上查看主节点数据更新情况

    <3> 在非主节点上上创建数据库、新建数据表、插入数据

    <4> 在主节点上查看非主节点数据更新情况

    3.3可行性分析

    (1)MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。

    (2)3台主机可以通过交换机连接到一起,只需要在连接前修改主机的IP地址,安装好需要安装的软件,这三台主机同时安装有ubuntu 11.04 。

    (3)在进行将5台安装有MySQL的主机搭建成一个集群的时候,只需要用到三台主机,只需要将其中的两台主机分别作为数据节点和SQL节点。

    (4)由于我们安装的都是虚拟机,可以在其中开启多台虚拟系统,所以又可以在这两台主机中做出更大的集群,但是出于当前计算机性能的问题的考虑,实现一台主机跑多个虚拟系统很吃力,所以实验中我们只做了将3台安装MySQL的主机搭建成一个小的集群。

    (5)集群实现的多种方案

    <1>MySQL Clustering(ndb-cluster stogare)
    MySQL公司以存储引擎方式提供的高可靠性方案,是事务安全的,实时复制数据,可用于需要高可靠性及负载均衡的场合。该方案至少需要三个节点服务器才能达到较好的效果。
    成本:
    (1) 节点服务器对RAM的需求很大,与数据库大小呈线性比例;
    (2) 最好使用千兆以太网络;
    (3) 还需要使用Dolphin公司提供的昂贵的SCI卡。
    优点:
    (1) 可用于负载均衡场合;
    (2) 可用于高可靠性场合;
    (3) 高伸缩性;
    (4) 真正的数据库冗余;
    (5) 容易维护。
    缺点:
    (1) 随着数据库的变大,对RAM的需求变得更大,因此成本很高;
    速度:
    (1) 几乎比典型的单独服务器(无千兆以太网,无SCI卡,存储引擎相关的  限制少)慢10倍。
    应用场合:
    (1) 冗余,高可靠性,负载均衡
    <2>MySQL / GFS-GNBD/ HA (Active/Passive)
    GFS是事务安全的文件系统。同一时刻可以让一个MySQL使用共享数据。
    成本:
    (1) 最多n台高性能服务器的成本,其中一个激活的,其他作为备份服务器。
    优点:
    (1) 高可靠性
    (2) 某种程度的冗余
    (3) 按照高可靠性进行伸缩
    缺点:
    (1) 没有负载均衡
    (2) 没有保证的冗余
    (3) 无法对写操作进行伸缩
    速度:
    (1) 单独服务器的2倍。对读操作支持得较好。
    应用场合:
    (1) 需要高可靠性的、读操作密集型的应用
    <3>MySQL / DRBD / HA (Active/Passive)
    DRBD可以提供这样的共享硬盘。DRBD可以被设置成事务安全的。同一时刻可以让一个MySQL使用共享数据。
    成本:
    (1) 最多n台高性能服务器的成本,其中一个激活的,而其他则作为备份服务器。
    优点:
    (1) 高可靠性;
    (2) 一定程度的冗余;
    (3) 以高可靠性名义来看是可伸缩的。
    缺点:
    (1) 没有负载均衡
    (2) 没有保证的冗余
    (3) 在写负载方面没有伸缩性
    速度:
    (1) 在读写方面相当于单独服务器
    应用场合:
    (1) 需要高可靠性、读操作密集型的应用
    <4>MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
    考虑不同的读、写DB数据库连接的情况。可以使用一台主服务器用于写操     作,而采用n台从服务器用于读操作。
    成本:
    (1) 最多1台高性能写服务器,n台读服务器的成本
    优点:
    (1) 读操作的高可靠性;
    (2) 读操作的负载均衡;
    (3) 在读操作负载均衡方面是可伸缩的。
    缺点:
    (1) 无写操作的高可靠性;
    (2) 无写操作的负载均衡;
    (3) 在写操作方面无伸缩性;
    速度:
    (1) 同单独服务器;在读操作方面支持得较好
    应用场合:
    (1) 读操作密集型的、需要高可靠性和负载均衡的应用。
    <5>Standalone MySQL Servers(Functionally separated) (Active)
    多台功能分离的单独服务器,没有高可靠性、负载均衡能力,明显缺点太多,不予考虑。 (

    MySQL Cluster (集群)基本原理MySQL簇概述

    MySQL簇是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的簇。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

    MySQL簇将标准的MySQL服务器与名为NDB的“内存中”簇式存储引擎集成了起来。在我们的文档中,术语NDB指的是与存储引擎相关的设置部分,而术语“MySQL簇”指的是MySQL和NDB存储引擎的组合。

    MySQL簇由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB簇的数据节点,管理服务器,以及(可能)专门的数据访问程序。关于簇中这些组件的关系,参见下图:

     

    NDB是一种“内存中”存储引擎,它具有可用性高和数据一致性好的特点。

    能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但以簇层面上的存储引擎开始最简单。MySQL簇的NDB存储引擎包含完整的数据集,仅取决于簇本身内的其他数据。

    在最低的MySQL簇配置中,至少有三个节点,这三类节点分别是:

    <1>管理(MGM)节点:这类节点的作用是管理MySQL簇内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令ndb_mgmd启动的。

    <2> 数据节点:这类节点用于保存簇的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。没有必要有一个以上的副本。数据节点是用命令ndbd启动的。

    <3> SQL节点:这是用来访问簇数据的节点。对于MySQL簇,客户端节点是使用NDB簇存储引擎的传统MySQL服务器。典型情况下,SQL节点是使用命令mysqld –ndbcluster启动的,或将ndbcluster添加到my.cnf后使用mysqld启动。簇配置包括对簇中单独节点的配置,以及设置节点之间的单独通信链路。对于目前设计MySQL簇,其意图在于,从处理器的能力、内存空间和带宽来讲,存储节点是同质的,此外,为了提供单一的配置点,作为整体,簇的所有配置数据均位于1个配置文件中。

    4. 研究报告

     

    4.1 规划阶段

    计划建立有5个节点的MySQL CLuster体系,在这里将两个SQL节点和数据节点装在一起,因此需要用到3台机器,具体分配如下表:

    节点名

    操作系统

    Ip地址

    管理节点

    ubuntu 11.04

    10.0.31.49

    数据节点1

    ubuntu 11.04

    10.0.31.40

    数据节点2

    ubuntu 11.04

    10.0.31.41

    SQL节点1

    ubuntu 11.04

    10.0.31.40

    SQL节点2

    ubuntu 11.04

    10.0.31.41

    4.2 安装Mysql server

    $wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.59.tar.gz/from/http://mysql.cs.pu.edu.tw/

    $tar -xzvf mysql-5.1.59.tar.gz

    $cd mysql-5.1.59

    $./configure --with-charset=utf8 --with-collation=utf8_bin --with-extra-

    charsets=gbk,gb2312,big5,utf8,binary,ascii --prefix=/usr/local/mysql  --with-plugins=partition,ndbcluster

    $make

    $make install

    4.3 安装Mysql Cluster

    $wget

    http://dev.mysql.com/get/Downloads/MySQL-Cluster-7. 1/mysql-cluster-

    gpl-7.1.15a-linux-x86_64-glibc23.tar.gz/from/http://mysql.ntu.edu.tw/

    $tar -xzvf mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23.tar.gz

    $mv mysql-cluster-gpl-7.1.15a-linux-x86_64-glibc23.tar.gz

    /usr/local/mysql-cluster

    $cd /usr/local/mysql-cluster

    $groupadd mysql

    $useradd -g mysql mysql

    $passwd mysql

    $cd /usr/local/mysql-cluster

    $chown -R mysql:mysql .

    $scripts/mysql_install_db --user=mysql

    $cp -rp bin/ndb* /usr/local/bin/

    4.4 配置管理节点

    $cp support-files/ndb-config-2-node.ini /etc/ndb_mgmd.ini

    $vi /etc/ndb_mgmd.ini

    [ndbd default]

    NoOfReplicas= 2

    MaxNoOfConcurrentOperations= 10000

    DataMemory= 80M

    IndexMemory= 24M

    TimeBetweenWatchDogCheck= 30000

    DataDir= /usr/local/mysql-cluster/data

    MaxNoOfOrderedIndexes= 512

    #设置管理节点服务器

    [ndb_mgmd default]

    DataDir= /usr/local/mysql-cluster/data #MGM上保存日志的目录

    [ndb_mgmd]

    Id=1

    HostName= 10.0.31.49

    #设置存储节点服务器(NDB节点)

    [ndbd]

    Id= 2

    HostName= 10.0.31.40

    DataDir=/usr/local/mysql-cluster/data

    [ndbd]

    Id= 3

    HostName= 10.0.31.41

    DataDir=/usr/local/mysql-cluster/data

    #设置SQL节点服务器

    [mysqld]

    Id= 5

    HostName= 10.0.31.40

    [mysqld]#第二个SQL节点

    Id= 6

    HostName= 10.0.31.41

    # 选择一个未使用的端口

    [tcp default]

    PortNumber= 63132

    4.5 配置SQL节点

    [mysqld]

    basedir = /usr/local/mysql/

    datadir = /usr/local/mysql/data

    user = mysql

    port = 3306

    socket = /tmp/mysql.sock

    ndbcluster

    ndb-connectstring=10.0.31.40

    [MYSQL_CLUSTER]

    ndb-connectstring=10.0.31.41

    4.6 配置存储节点(NDB节点)

    $vi /etc/ndbd.cnf

    [mysqld]
    ndbcluster
    DataDir=/usr/local/mysql-cluster/data
    [MYSQL_CLUSTER]
    ndb-connectstring=nodeid=192.168.0.55

    4.7 启动MySQL Cluster

    首先启动管理节点服务器,然后启动存储节点服务器,最后才启动SQL节点服务器:

    (1)在管理节点服务器上,执行以下命令启动MGM节点进程:

    $/usr/local/bin/ndb_mgmd -f /etc/ndb_mgmd.ini  --configdir=/usr/local/mysq
    l-cluster
    $netstat -ntpl |grep ndb #检查是否成功
    (2)在每台存储节点服务器上,先执行以下命令:
    $/usr/local/bin/ndbd --initial --defaults-file=/etc/ndbd.cnf
    (3)运行以下命令启动SQL节点服务器:
    $mysqld_safe --defaults-file=/etc/my.cnf &
    4.8 关闭MySQL Cluster
    在MGM节点所在的机器上, Shell中简单地输入下述命令用来关闭Cluster:
    $/usr/local/bin/ndb_mgm -e shutdown
    运行以下命令关闭SQL节点的mysqld服务:
    $/usr/local/bin/mysqladmin -uroot shutdown
    4.9 数据测试
    (1)在主节点上新建一个数据库ClusterTest,新建数据表user,插入一行数据
    mysql> create database ClusterTest
    mysql> use ClusterTest
    mysql> create table user(nu mint , name varchar(50) engine=NDB);
    mysql> select * from user;
    (2)在非主节点上查看数据同步情况
    mysql> use ClusterTest
    mysql> select * from user;
    (3)在非主节点上新建一个数据库ClusterTest,新建数据表user,插入一行数据
    mysql> create database ClusterTest
    mysql> use ClusterTest
    mysql> create table user(nu mint , name varchar(50) engine=NDB);
    mysql> select * from user;

    (4)在主节点上查看数据同步情况

    mysql> use ClusterTest
    mysql> select * from user;

    4.10安全关闭

    要想关闭 Cluster,可在MGM节点所在的机器上,在Shell中简单地输入下述命令:

    [db1~]root# /usr/local/mysql/ndb_mgm -e shutdown

    运行以下命令关闭SQL节点的mysqld服务:

    [db2~]root# /usr/local/mysql/bin/mysqladmin -uroot shutdown

    5. 测试报告/实验报告

    实验报告

    (1)下载mysql-cluster-gpl-7.1.22-linux-x86_64-glibc 23.tar.gz安装包,选择服务器架构类型。

    (2)建立mysql用户组和mysql用户:#groupadd mysql   && useradd mysql -g mysql(3)解压压缩包并重命名:

    #tar zxvf mysql-cluster-gpl-7.1.22-linux-x86_64-glibc 23.tar.gz

    #mv mysql-cluster-gpl-7.1.22-linux-x86_64-glibc 23 mysqlc

    (4)进入mysqlc目录创建logs目录并更改mysqlc目录的所有者

    #cd mysqlc &&   mkdir logs

    #cd .. && chown -R mysql:mysql mysqlc

    截图如下:

     

    (5)建系统相关数据库以及表

    #scripts/mysql_install_db --user=mysql

    (6)配置管理节点

    #mkdir /var/lib/mysql-cluster && cd /var/lib/mysql-cluster

    # vim /var/lib/mysql-cluster/config.ini

    保存并退回出

    截图如下:

     

    (7)安装配置数据节点

    复制管理节点上的mysqlc整个目录到数据节点1上的/usr/local目录,重命名为mysql,确保mysql目录的所属用户和组为mysql。

    复制配置文件和启动脚本

    #cp support-files/my-medium.cnf /etc /my.cnf

    #cp support-files/mysql.server /etc /init.d/mysqld

    编辑配置文件

    #vim /etc /my.cnf

       增加[mysqld]下面的配置项

       保存后退出,在数据节点2上进行相同操作。

    截图如下:

     

    (8)启动管理节点

     

    (9)启动数据节点

     

     

    (10)启动SQL节点

     

    (11)在管理端查看集群当前状态

     

    (12)在节点2上启动数据节点和SQL节点

     

    测试报告

    (1)  主节点上创建ClusterTest数据库,user数据表,插入一条数据。

     

    (2)  在非主节点上查看数据同步情况:

     

    (3)  在非主节点上更新数据

     

    (4)  查看主节点上数据同步情况

     

     

    6. 课题研究结论

    MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。

    MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。MySQL Cluster的NDB存储引擎包含完整的数据集,仅取决于 Cluster本身内的其他数据。在课程设计中实现了对一台计算机上进行创建数据库、新建数据表、插入数据,在其他计算机上均能查看这些信息的功能 。

    采用Linux系统,可以提高客户工作站运行的可靠性和稳定性,获得高可用性服务器。在Linux系统下一种双机互备份工作方式的MySQL数据库集群的具体实现方案,实现了高可用性集群服务器。两个相对独立的应用在两台机器同时运行,但彼此均设为备份机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。

     

    7. 总结

    随着网络技术的飞速发展,传统的服务器体系结构愈来愈不适应当前的需求,集群技术以其独特的优点很好地适应了当前网络发展的需要。而Linux以其开源代码模式成为当前集群研究的热点,本文正是基于这一点,介绍了MySQL集群的基本概念及其实现方式,依靠集群文件系统实现对系统中的所有文件、设备和网络资源的全局访问,突破了数据库容量的瓶颈限制。开源数据库开发商MySQL公司在2007 MySQL大会上宣布了最新的MySQL Cluster Carrier Grade Edition数据库DBT2基准测试结果。该基准测试结果显示了MySQL Cluster Carrier Grade Edition的高扩展性,使用8个节点的Cluster能达到每分钟100,000个事务处理。所以企业在网络规划资金欠缺的情况下,用免费的MySQL Cluster架设数据库集群,完全可以满足大流量的信息处理需求。

    MySQL数据库有很多优点

    扩展性和灵活性

    MySQL数据库服务器提供非常强大的扩展性,可以支持深度嵌入应用系统,大小只有1MB。也可以支持TB级别的数据仓库。平台灵活性一直以来是MySQL的特性,MySQL现在支持Linux,UNIX,和Windows。当然,MySQL的开源本性允许全面的自定义,这满足了那些需要添加特殊要求至数据库的需求。

    高性能

    独特的存储引擎架构使得数据库专业人员可以为特定的应用配置有针对性的MySQL数据库,由此,可以获得出人意料的性能结果。不管应用是高速的事务处理或是每天处理上亿查询大容量web站点,MySQL可以满足任何系统最急需的性能要求。使用高速加载工具,不同的内存缓存,全文索引,以及其它的性能加强机制,MySQL提供了现今关键业务系统需要的所有功能和特性。

    高可用

    坚若磐石的可靠性和持续的可用性是MySQL的特征,客户凭借MySQL确保24小时的服务。MySQL提供各种高可用的方案,高速的主/从复制配置,特殊集群服务器提供的即时切换,以及其它第三方供应商为MySQL数据库提供的独特高可用解决方法。

    强大的事务支持

    MySQL提供一个强大的事务处理引擎。特性包括完整的ACID(原子性,一致性,隔离性,持久性)事务支持,不限制的行级锁,分布式事务能力,多版本事务支持。另外,也确保数据完整性,方法是通过服务器强制的引用完整性,特殊事务隔离级别,即时死锁检测。

    Web和数据仓库能力

    MySQL事实上可用于高速web站点,因为它具备高性能的查询引擎,大量快速数据插入能力,有力地支持特定web方法如全文搜索。这些特性同样适用于数据仓库环境,这里的MySQL扩展至可以容纳T级别的数据年。其它的特性,如内存表,B-树索引和hash索引,以及高达80%压缩率的压缩表。使得MySQL完全可以用于web站点和商业智能应用。

    强大的数据保护

    保障公司数据资产安全是数据库管理员的日常工作之一。MySQL提供超乎寻常的安全特性,可以确保绝对的数据安全。在数据库安全认证方面,MySQL提供有力机制以确保只有授机用户可以访问数据库服务器,这样就可以有能力将用户阻止在客户端机器的一层。SSH和SLL的支持确保了连接的安全与可靠。粒度对象权限框架保证了用户可能看到他们被许可看的,强大的数据加密和解密功能确保了敏感数据不被未授权的查看。最后,MySQL和其它第三方软件提供商提供的备份和恢复工具允许完全的逻辑与物理备份以及按时间点恢复。

    全面的应用开发

    MySQL之所以成为全球最流行的开源数据库的原因之一是它针对每一个应用开发提供全面的支持。在数据库里,支持包括存储过程,触发器,函数,视图,游标,ANSI标准SQL,以及更多。对于嵌入式应用,可以使用嵌入式MySQL的插件库,几乎支持任意应用。MySQL提供连接器和驱动(ODBC,JDBC,等等)。这使得各种应用程序都可以使用MySQL作为首选的数据库管理服务器。不管是,PHP, Perl, Java, Visual Basic, 还是 .NET,MySQL都可满足应用开发人员成功构建数据库驱动信息系统的需求。

    管理方便

    MySQL有着异乎寻常的快速部署能力。软件从下载到安装完成平均时间少于是15分钟。对于以下任意平台都是: Microsoft Windows, Linux, Macintosh, 或是 UNIX。一旦安装,自管理特性,比如自动空间增长,自动重启,以及动态改变配置为数据库管理员大大减少了压力。MySQL提供了一套图形化管理和迁移工具,使得DBA可以管理,解决问题,以及从一个单一的工作台控制多个MySQL服务器。许多第三方的软件供应商提供工具,可以让DBA进行数据设计和ETL,完成数据库管理工作,任务管理,性能监控。

        开源自由和24*7支持

    很多公司对于是否完全采用开源软件还持怀疑态度。因为他们认为使用MySQL不可能会得到他们当前依赖的商业服务对关键业务提供的支持。事实上,这些怀疑是完全没有必要的,MySQL企业版提供一天24小时的支持。MySQL不是一个典型的开源项目,因为其全部的软件都是由Oracle所有,正因为如此,存在一个特殊的付费和支持模型,使得存在一个自由开源和得到支持受信软件的结合体。

    最低的总体拥有成本

    将当前数据库驱动的应用程序迁移至MySQL,或是在新的开发项目中使用MySQL,公司将可以体会到成本大大的降低了。将MySQL数据库服务器和使用廉价硬件扩展架构相结合,公司可以发现可以获得超乎想象的扩展性和性能,所有的这些花费远远少于使用水平扩展的方式。另外,可靠性和易维护性意味着MySQL可以让数据库管理员不用在解决性能问题或是宕机时间上耗费时间,而只需要关注更高级别的与商业业务有关的任务。

     

     


    <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
    展开全文
  • MYSQL: 查询支持的全部引擎 show engines; 查询默认的存储引擎: show variables like 'storage_engine%'; //或 show variables like 'storage%'; 创建数据表: create [temporary] table [if not exists] #();...

    MYSQL:
    查询支持的全部引擎

    show engines;
    

    在这里插入图片描述
    查询默认的存储引擎:

    show variables like 'storage_engine%';
    //或
    show variables like 'storage%';
    

    在这里插入图片描述
    创建数据表:

    create [temporary] table [if not exists] #();
    //temporary:创建一个临时表;
    

    在这里插入图片描述
    查看表:

    show tables;//#:数据库名
    

    在这里插入图片描述
    查看表结构:

    show columns from hello_01 from hello;
    

    在这里插入图片描述

    describe #;
    

    在这里插入图片描述

    describe hello_01 id;
    //或
    desc hello_01 id;
    

    在这里插入图片描述
    修改表:
    添加列:

    alter table hello_01
    add password varchar(20);
    

    在这里插入图片描述
    修改列:

    alter table hello_02
    modify name varchar(30);
    

    在这里插入图片描述
    删除列:

    alter table hello_01
    drop password;
    //或
    alter table hello_01
    drop column name;
    

    在这里插入图片描述
    在这里插入图片描述
    查询表数据:

    select * from hello_02;
    

    在这里插入图片描述
    重命名表:

    rename table #1 to #2;
    

    在这里插入图片描述
    复制表:

    //不复制数据
    create table hello_02copy like hello_02;
    

    在这里插入图片描述

    //且复制数据:
    create table hello_02copy01 as select * from hello_02;
    

    在这里插入图片描述
    删除表:

    drop table hello_02copy01;
    //或
    drop table hello_02copy01;
    
    drop table if exists hello_02copy;
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Mysql数据库课程设计

    千次阅读 多人点赞 2021-04-14 16:49:09
    今天给大家分享一下使用javafx编写的前端的 Mysql数据库课程设计 题库与试卷生成系统!废话不多说了,直接上截图,希望对大家有所帮助! (建议拿来参考不建议直接CV哦!) 1.系统需求分析 1-1、功能分析 通过深入...

    Hello小伙伴们,大家好,我是楠橘星!!

    今天给大家分享一下使用javafx编写的前端的 Mysql数据库课程设计 题库与试卷生成系统!废话不多说了,直接上截图,希望对大家有所帮助!(建议拿来参考不建议直接CV哦!)

    代码已经开源在https://github.com/duan-nan/database_design,有需要的同学自取!

    1.系统需求分析

    1-1、功能分析

    通过深入细致的调查,多方面搜集资料,以及实地考察等方法,经过总结研究,
    总结出了试卷生成系统的的基本的业务功能,详细如下:

    • 学生信息维护:主要完成学生的学号、班级、考试信息等操作。
    • 教师信息维护:主要是教师信息的添加、修改和删除等操作。
    • 题库信息维护:主要完成题库中各个学科的题库的增加,删除,修改等情况。
    • 学生检索:通过学生的学号来查看学生的信息。
    • 教师检索:通过教师的职工号来查找教师信息。
    • 试卷自动生成:学生在考试时的会随机从题库中抽取四道题,学生在作答完毕后点击提交试卷会自动记录学生的成绩并且自动更新数据库内容。
    • 管理员:管理员可以管理学生,教师以及题库的信息。此三者的信息的增删改查的权利由管理员来掌握。

    1-2、数据字典

    数据项:

    数据项名数据类型长度别名取值范围
    Idint10编号
    numberCHAR20管理员账号
    passwordCHAR30管理员密码
    NameCHAR20姓名
    NameCHAR30学科名
    ContentmediumText0题库内容
    NameCHAR30学生名
    GenderChar30性别男,女
    ClassRoomCHAR30班级
    NumberCHAR30学号
    PasswordCHAR30密码
    Math_date_placeCHAR100数学考试时间地点
    English_date_placeCHAR100英语考试时间地点
    Chinese_date_placeCHAR100语文考试时间地点
    g_ChineseDouble30语文成绩
    G_MathDouble30数学成绩
    G_EnglishDouble30英语成绩
    G_musicDouble30音乐成绩
    G_historyDouble30历史成绩
    G_polityDouble30思政成绩
    G_computerDouble30计算机成绩
    G_sumDouble30总成绩
    G_avgDouble30平均分

    2、概念模型设计

    根据前面的设计,以及相应的数据项,数据结构之间的关系,通过分类总结,可以将图书管理系统数据库实体划分为图书信息实体集、学生信息实体集、馆藏地实体集、借书卡信息实体集、缺书信息实体集,各实体集里还包含不同的实体。
    每个实体定义的属性如下:

    学生:{学号,密码,姓名,性别,班级,考试地点,时间,教室}
    教师:{职工号,密码,姓名,监考时间,地点,教室,学科}
    题库:{学科名,题库内容}
    成绩:{语文成绩,数学成绩,英语成绩,历史成绩,音乐成绩,计算机成绩,思政成绩,总成绩,平均成绩}
    管理员:{职工号,密码}

    3.、逻辑设计

    3-1、E-R图

    学生教师 E-R图:
    在这里插入图片描述

    管理员 成绩 E-R图在这里插入图片描述

    学生题库 E-R图:
    在这里插入图片描述

    学生-成绩 E-R图
    在这里插入图片描述

    管理员 E-R图
    在这里插入图片描述

    3-2、 ER转化关系模型

    ER图进行关系模型的转化时,应根据相应的规则进行转化,只有这样,才能尽可能的减小冗余,达到比较好的范式,使模型更加优化,通常的转换规则如下:
    一对一联系 :若双方部分的参与,则将联系定义为一个新的关系,属性为参与双方的码,若一方全部参与,则将联系另一方的码作为全部参与一方的属性。一对多联系:将单方参与实体的码作为多方参与实体的属性。多对多联系:将联系定为新的关系,属性为参与双方的码。以上也就是基本的设计规则了,只要按照相应的规则转换,就能够得到所要的规范程度,得到一个良好的范式,根据得到的ER图,进行关系模式的转换。具体的关系模型如下:

    学生表设计

    数据项名数据类型长度别名取值范围主外键
    Idint10编号主键
    NameCHAR30学生名
    GenderChar30性别男,女
    ClassRoomCHAR30班级
    NumberCHAR30学号
    PasswordCHAR30密码
    Math_date_placeCHAR100数学考试时间地点
    English_date_placeCHAR100英语考试时间地点
    Chinese_date_placeCHAR100语文考试时间地点

    教师表设计

    数据项名数据类型长度别名取值范围主外键
    Idint10编号主键
    NameCHAR30教师名
    GenderChar30性别男,女
    NumberCHAR30学号
    PasswordCHAR30密码
    PhoneCHAR30电话
    PasswordCHAR100教室时间学科

    管理员表设计:

    数据项名数据类型长度别名取值范围主外键
    Idint10编号主键
    NameCHAR30管理员名
    NumberCHAR30管理员账号
    PasswordCHAR30密码

    成绩表设计:

    数据项名数据类型长度别名取值范围主外键
    NumberCHAR30学号外键
    g_ChineseDouble30语文成绩
    G_MathDouble30数学成绩
    G_EnglishDouble30英语成绩
    G_musicDouble30音乐成绩
    G_historyDouble30历史成绩
    G_polityDouble30思政成绩
    G_computerDouble30计算机成绩
    G_sumDouble30总成绩
    G_avgDouble30平均分

    题库表设计:

    数据项名数据类型长度别名取值范围主外键
    Idint10编号主键
    NameCHAR30学科名
    ContentCHAR30内容

    4、界面展示

    4-1、登陆模块

    在这里插入图片描述

    4-2、管理员模块

    4-2-1、学生信息控制模块

    在这里插入图片描述

    4-2-2、二.教师信息控制模块

    在这里插入图片描述

    4-2-3、题库信息控制界面

    在这里插入图片描述

    4-3、题库题目修改界面

    在这里插入图片描述
    在这里插入图片描述

    4-5、教师监考信息查看界面

    在这里插入图片描述

    4-6、学生选考界面

    在这里插入图片描述

    4-7、学生答题界面

    在这里插入图片描述

    这就是 题库与试卷生成系统 的大致思路,由于当时编程的时候水平比较低,所以很多命名都不规范,希望大家多多包涵,sql文件放在题库文件夹里面,可以直接导入。
    在这里插入图片描述

    希望我的分享可以为学习编程的同学提供一点帮助,代码已经开源在https://github.com/duan-nan/database_design,有需要的同学自取!
    我是楠橘星,期待大家的关注!

    树苗如果因为怕痛而拒绝修剪,那就永远不会成材。

    展开全文
  • PHP+Mysql通讯录课程设计 本资源为学生课程设计,压缩包能有源代码,设计说明书,操作说明书和演示视频。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,094
精华内容 16,437
关键字:

mysql课程设计

mysql 订阅