Mysql数据库平台的搭建
一、实验目的要求
【实验要求】
- MySQL的集群版的安装和验证
- 掌握MySQL在集群平台中的安装
【实验目的】 - 完成MySQL的集群版的安装
- MySQL集群的相关服务进程能够正常启动
- MySQL集群的SQL服务能够作为系统服务开机自动启动
- MySQL客户端能够正常连接MySQL集群的SQL服务
- MySQL集群的SQL服务能够远程连接访问
- 创建表、查询数据等数据库操作能够正常进行
MySQL集群的数据库数据能够在多个SQL服务节点之间实现同步
二、试验环境
- 五台独立PC机或虚拟机
- 主机之间有有效的网络连接
- 每台主机内存2G以上,磁盘剩余空间20G以上
- 所有主机上已安装CentOS 7.4操作系统
- 所有主机已完成静态网络地址、主机名、主机地址映射的配置
软件版本:选用MySQL Cluster的7.5.7版本,软件包选择Linux的通用包Generic,软件包
名mysql-cluster-gpl-7.5.7-linux-glibc2.12-x86_64.tar.gz
依赖软件:MySQL Cluster的安装和使用需要依赖于软件libaio,选用该软件的0.3.109版本,软件包名libaio-0.3.109-13.el7.x86_64.rpm
集群规划
MySOL数据库的集群版本有管理节点、数据服务节点、SQL服务节点总共3类服务节点,集群中要求至少一台单独的主机作为管理节点,而集群模式需要满足数据有备份和数据处理能够分布并行的基本要求,所以需要两台或以上的主机作为数据服务节点以及两台或以上的主机作为SQL服务节点,具体规划如下:
三、试验内容
任务一 MySQL集群版安装环境配置
(1)MySQL集群版安装过程的所有操作步骤都需要使用root用户进行。
(2)本项步骤需要在集群中所有主机上进行操作。
- 新建setups目录,并且上传所需的软件包到setups目录下。
- 匹配mysql关键字查询包,列出本机安装的mysql。
- 检查是否安装MariaDB软件,如果有将其删除,检查是否安装libaio软件,mysql数据库的安装需要依赖于该软件,如已安装继续进行下一步,未安装则需要执行命令rpm -ivh 软件包路径,进行安装。
rpm -e --nodeps 软件包名 #将已经安装的MariaDB软件删除,rpm源码安装删除方法。
- 检查mysql用户组是否存在,不存在则需要创建用户组,然后检查mysql用户是否存在,若不存在创建mysql用户并加入到mysql用户组中,选项“-r”表示该用户是内部用户,不允许外部登录。
usermod -g mysql #若mysql用户存在但不属于mysql用户组,则使用此命令修改mysql用户其所属的用广组为mysql。
- 查看当前系统中SELinux服务的运行状态,需要进行永久关闭。
- 找到配置项SELINUX所在行,将其改为“disabled”,并重启。
任务二 MySQL集群版基本安装配置
(1)以下步骤需要在集群中所有主机上进行操作。
- 创建用于存放mysql的目录,并进入该目录,将软件包解压到mysql目录下
- 进入系统目录/usr/local下,创建一个名为mysql的链接指向MySQL Cluster所在的目录,进入该目录,创建存放MySQL 据库数据的目录,更改数据目录的权限设置。
- 更改当前“mysql”目录所在用户和所属组,进入配置文件#vi /etc/profile,修改系统mysql相关的环境变量
在文件末尾添加以下内容:
#mysql-cluster environment
MYSQL_CLUSTER_HOME=/usr/local/mysql
PATH= M Y S Q L C L U S T E R H O M E / b i n : MYSQL_CLUSTER_HOME/bin: MYSQLCLUSTERHOME/bin:PATH
export MYSQL_CLUSTER_HOME PATH
- 使新配置的环境变量立即生效,查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确。
任务三 配置管理节点Cluster-01
(1)以下步骤需要在集群中所有管理节点主机上进行操作。
1.# cd /usr/local/mysql #进入MySQL Cluster软件所在目录
#mkdir mysql-cluster #创建存放MySQL Cluster数据的目录
#chown -R mysql mysql-cluster #chgrp -R mysql mysql-cluster
#更改“mysql-cluster”目录的所属用户和所属组。
2.进入“etc”目录,创建管理节点的配置文件并对其进行修改。
#添加以下内容
3.更改etc目录的所属用户和所属组,启动MySQL Cluster的管理节点
4.查看系统进程信息,进入MySQL Cluster管理节点的控制台,在控制台使用命令“show”可以查看节点状况,在控制台中使用命令“exit”可以退出控制台
任务四 配置数据服务节点Cluster-02、Cluster-03
- 进入系统配置文件所在的目录,创建MySQL Cluster数据服务节点的配置文件并对其进行修改。
- 启动数据服务节点,首次启动或配置修改之后启动需要添加参数“–initial”,正常启动时不需要添加参数“–initial”
- 查看系统进程信息,若存在信息中包含"ndbd”关键字的进程则表示MySQL Cluster的数据服务节点启动成功。
- 在管理节点主机上使用命令“ndb_mgm”进入MySQL Cluster管理节点的控制台。在控制台中使用命令“show”可以查看节点状况,若有相应数据服务节点的连接信息,则表示数据服务节点启动并连接成功。
任务五 配置SQL服务节点Cluster-04、Cluster-05
(1)以下步骤需要在集群中所有SQL服务节点主机上进行操作。
1.进入系统配置文件所在目录,创建MySQL Cluster数据服务节点的配置文件并进行修改
2. 对MySQL数据库的安装进行初始化,执行该命令后会有一些提示信息,特别注意最后一行的“[Note]”相关信息,在首次以root用户登录数据库时此密码需要使用,非常重要,一定要记下。
3. 将MySQL加入到系统的可控制启动服务目录内,并将服务名命名为“mysql”,并启动SQL服务节点,之后查看系统进程信息,若存在信息中包含“mysql”关键字的进程则表示MySQL Cluster的SQL服务节点启动成功。
4.在管理节点主机上使用命令“ndb_mgm”进入MySQL Cluster管理节点的控制台。在控制台中使用命令“show”可以查看节点状况,若有相应SQL服务节点的连接信息,则表示SQL服务节点启动并连接成功。
4. 登录MySQL数据库,会提示输入密码,该密码为之前进行安装初始化时所显示的初始密码,正确输入密码成功登录MySQL数据库之后会进入MySQL的控制台。在MySQL控制台使用此命令,重新设置数据库的“root”用户的登录密码,其中“12345678”部分为自定义的新密码。
6. USE mysql; #在MySQL控制台使用命令“USE mysql;”切换到“mysql”数据库。
UPDATE user SET host='%'WHERE user=‘root’; #在MySQL控制台使用此命令,修改数据库的root用户所接收请求来源的范围。允许远程登录。
#select host from user where user = ‘root’; #查看数据库的host信息
FLUSH PRIVILEGES; #在MySQL控制台使用此命令,刷新数据库的权限信息使新配置的权限生效。
exit #在MySQL控制台使用命令“exit”可以退出MySQL控制台返回到系统命令行界面。
7.firewall-cmd --zone=public --add-port=3306/tcp --permanent
#添加系统防火墙的端口策略,对外开启MySQL所使用的端口“3306”。
firewal1-cmd --reload #重启系统防火墙服务,使新添加的端口策略生效。
任务六 MySQL集群版验证
- mysql -u root -p
#在任意一台SQL服务节点主机上使用命令“mysql-u root -p”登录到MySQL数据库,会提示输入密码,正确输入密码成功登录MySQL数据库之后会进入MySQL的控制台。
CREATE DATABASE test;
#在MySQL控制台使用命令“CREATEDATABASEtest;”创建数据库“test”。
2. mysql -u root -p #在任意一台其它SQL服务节点主机上使用命令“mysql -u root -p”登录到MySQL数据库,会提示输入密码,正确输入密码成功登录MySQL数据库之后会进入MySQL的控制台。
SHOW DATABASES;
#在MySQL控制台使用命令“SHOW DATABASES;”显示数据库列表,若存在名为“test”的数据库,则表示集群同步数据成功
3. 查看mysql集群状态
在任意一台集群主机上执行: ndb_mgm -e show
4. 关闭顺序:SQL节点->数据节点-→管理节点
在SQL服务节点执行: service mysql stop
在管理节点执行:ndb_mgm -e shutdown
任务七 MySQL集群测试
1.现在我们在其中一个SQL节点上进行相关数据库的创建,然后到另外一个SQL节点上看看数据是否同步。
- 关闭一个数据节点,在另外一个节点写输入,开启关闭的节点,看数据是否同步过来。
首先把数据节点1重启,然后在节点2上添加数据
四、体会与总结
- 在实验前老师讲解实验步骤时一定要认真听讲,将理论知识吃透,并注意老师所讲的容易出问题的点,为做实验打好基础。否则在实验过程中又会花费大量的时间去摸索实验步骤,不仅浪费时间,还容易因为速度慢而心浮气躁。
- 作为计算机专业的学生,我们身处网络发达的年代,网络科技发展速度非常之快,所以,我们的学习范围不应只局限于课本局限于校园,不断学习新的知识,接触新的环境,才能更全面地了解网络发展的新趋势。
- 在敲命令的过程中遇到问题时,多与别人交流,多上网查资料,在帮助别人解决问题中也可以使自己学到很多,帮助别人的过程同样也是提高自己的过程。