实验
目的
要求
目的:
MySQL数据库的基本命令;MySQL数据库中使用SQL语句;MySQL数据库中数据库,表,数据的操作;要求:
完成MySQL的集群版的安装;MySQL集群的相关服务进程能够正常启动;MySQL集群的SQL服务能够作为系统服务开机自动启动;MySQL客户端能够远程连接MySQL集群的SQL服务;MySQL集群的SQL服务能够远程链接访问;创建表、查询数据等数据库操作能够正常进行;MySQL集群的数据库数据能够在多个SQL服务节点之间实现同步;MySQL数据库的基本命令和SQL语句的使用;正确完成练习内容;
实
验
环
境
实
验
环
境
五台独立PC式虚拟机;主机之间有有效的网络连接;每台主机内存2G以上,磁盘50G;所有主机上安装CentOS7-64位操作系统;所有主机已完成静态网络地址、主机名、主机地址映射的配置;已完成MySQL数据库平台的搭建;在安装MySQL服务节点的PC机或者虚拟机操作;
软件版本:
选用MySQL Cluster的7.5.7版本;
集群规划:
* MySQL数据库的集群版本有管理节点、 数据服务节点、 SQL服务节点总共3类服务节点, 集群中要求至少一台单独的主机作为管理节点, 而集群模式需要满足数据有备份和数据处理能够分布并行的基本要求, 所以需要两台或以上的主机作为数据服务节点以及两台或以上的主机作为SQL服务节点, 具体规划如下:
主机名
IP地址
服务描述
Cluster-01
192.168.10.111
MC管理节点
Cluster-02
192.168.10.112
MC数据服务节点
Cluster-03
192.168.10.113
MC数据服务节点
Cluster-04
192.168.10.114
MC SQL服务节点
Cluster-05
192.168.10.115
MC SQL服务节点
1、启动管理节点;
2、启动数据服务节点;
3、启动SQL服务节点;
1、创建一个数据库;
2、创建一个mytable表并显示表结构;
3、向表中插入一条记录;
4、查找表中已存在的数据;
1、在home目录下创建mysql.txt文件,并写入数据;
2、给数据库导入TXT文件数据;
命令:
>load data local infile "/home/mysql.txt" into table mytable fields terminated by '\t' lines terminated by '\n';
3、在MySQL连接工具中查看插入数据;
1、查看表结构;
2、查询所有列及指定列;
3、查询指定行;
根据下列表格中所提供的关系型数据库的数据模型和数据,在MySQL数据库中创建和添加相应的数据库、表、数据。
书籍信息表(BOOK_INFO)
Title
Borrower
sex
Munber
lendingdate
Returndate
Yuncunchu
Zhangsan
f
20170001
2017-09-09
2017-09-09
Shujuku
Lisi
m
20170002
2017-09-09
2017-09-09
xunihuajishu
wanger
f
20170003
2017-09-09
2017-09-09
1、创建work数据库并插入数据;
2、查看插入数据;
3、指定行列查看数据;
4、使用连接工具查看数据;
1、导出数据;
2、查看导出文件;
本实验未遇到错误,介绍几个排错技巧:
1、一般,报错的时候都会有error code。比如ERROR 1504,Error: 2303等等,遇到这些报错,我们可以先用mysql的报错工具perror查看,比如查看报错号为1504的错误,使用命令为: perror --ndb 1504
2、在出现报错以后,查看WARNINGS或ERRORS信息,比如出现Error CODE : 1528 Failed TO CREATE LOGFILE GROUP后输入SHOW WARNINGS;,会显示出具体的报错信息:
Got error 1504 'Out of logbuffer memory' FROM NDB
Failed TO CREATE LOGFILE GROUP
以上报错代码,均可在官网找到解决方案。
优点:
a) 99.999%的高可用性
b)快速的自动失效切换
c)灵活的分布式体系结构,没有单点故障
d)高吞吐量和低延迟
e)可扩展性强,支持在线扩容
缺点:
a)存在很多限制,比如:不支持外键
b)部署、管理、配置很复杂
c)占用磁盘空间大,内存大
d)备份和恢复不方便
e)重启的时候,数据节点将数据load到内存需要很长时间
a)Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。
b)每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。
c)Master等待所有Slave发送OK或ABORT消息
如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;如果Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。e)每个Slave等待来自Master的OK或ABORT消息。
如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。f)当Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。
