一、前言介绍
二、什么是mysql集群
三、如何进行mysql的集群搭建部署?步骤?
(一)安装mysql
(二)启动、查看mysql服务端进程
(三)查看mysql的roo账号密码并连接mysql
(四)更改默认密码并创建testdb数据库
(五)将mysql jdbc驱动引入ider中的java项目里
(六)通过jdbc连接(访问)mysql(使用ider)
(七)创建hadoop数据库,建hadoop.user表
(八)设置任何主机上的用户hadoop均可远程连接mysql数据库
四、总结
五、学习收获
---------------------------------------------------------------------------------------------------------------------------------
MySQL Cluster 是MySQL 适合于分布式计算环境的高实用、可拓展、高性能、高冗余版本,其研发设计的初衷就是要满足许多行业里的最严酷应用要求,这些应用中经常要求数据库运行的可靠性要达到99.999%。MySQL Cluster允许在无共享的系统中部署“内存中”数据库集群,通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;
如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;
如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。
随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,类似于MySQL集群这样的技术得到了广泛的运用,MySQL集群原理的运用就显得尤其重要。
---------------------------------------------------------------------------------------------------------------------------------
【rpm -ivh http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm(安装mysql repo)------以及yum install -y mysql-community-client mysql-community-devel mysql- community-server(在线安装mysql)】
(1) 启动mysql的mysqld进程(mysql服务端进程)
systemctl start mysqld
(2) 查看mysqlL服务端是否启动成功(status=查看):
systemctl status mysqld
(1) 查看mysql的root帐号默认密码:
cat /var/log/mysqld.log | grep "password"
(2) 连接mysq命令
mysql -u root -p
(1) 修改默认密码(不能过于简单,否者修改不成功)
alter user user() identified by 'QQ123-v20’ ;
(2) 创建testdb数据库:
create database testdb DEFAULT CHARACTER SET utf8
文件包放不进来,所以我选择放在文章的最前面,在主页资源包也可以看到哦
package jdbc_mysql;
import java.sql.*;
public class JdbcTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName(" com.mysql.cj.jdbc.Driver");
//创建jdbc连接
Connection conn=DriverManager.getConnection("jdbc:mysql://192.160.159.128:3306/mysql?serverTimezone=UTC","root","Lzzy@2022");
//根据一个Statement对象,并执行select查询
Statement statement = conn.createStatement();
String sql = "select Host, User from user";
//resultSet是执行sql后,my59ld返回的结果
ResultSet resultSet = statement.executeQuery(sql);
//遍历查询的结果
while (resultSet.next()) {
String host = resultSet.getString("Host");
String user = resultSet.getString("User");
System.out.println("host= " + host + " , user= " + user);
}
resultSet.close();
conn.close();
}
}
(1) 创建hadoop数据库
create database hadoop character set utf8;
(2) 切换(使用)hadoop库
use hadoop
(3) 创建hadoop.user表
create table user(name varchar(32), age int, sex varchar(32))
(4)将mysql jdbc驱动引入到ider 中的java项目里(使用ider)
package jdbc_mysql;
import java.sq1.*;
public class JdbCreate {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName(" com.mysql.cj.jdbc.Driver");
//创建jdbc连接
String url = "jdbc:mysql://192.160.159.128:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8";
Connection conn = DriverManager.getomnection(url,"root","Lzzy@2022");
//根据一个Statement对象,并执行select查询
Statement statement = conn.createStatement();
String sql = "insert into 'user' values( 'zhangsan', 18,'男')";
//执行insert语句
statement . execute(sql);
conn.close();
}
}
(1) 设置任何主机上的用户'hadoop'都可以凭借密码'1'远程连接MySQL数据库。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' IDENTIFIED BY '1' WITH GRANT OPTION;
(2)授权超用户,进行刷新系统权限
mysql> FLUSH PRIVILEGES;
---------------------------------------------------------------------------------------------------------------------------------
mysql集群可以大大提高应用程序的性能和可靠性。通过管理节点和多个MySQL节点的组合,可以实现数据的自动分布和复制,提供高可用性和容错能力。
在Hadoop集群上部署和远程连接MySQL是一个常见的需求,以下是我学习部署和远程连接MySQL在Hadoop集群中的一些收获:
1. 安装和配置MySQL:首先需要在集群中选择一台作为MySQL服务器,然后在该服务器上安装MySQL数据库,并进行配置。配置包括设置root用户密码,配置数据库监听IP地址,设置允许远程连接等。
2. 创建MySQL数据库和用户:在MySQL服务器上登录,并创建需要使用的数据库和用户。可以使用MySQL的命令行工具或者图形化工具进行操作。
3. 允许远程连接MySQL:默认情况下,MySQL服务器只允许本地连接。远程连接需要在MySQL服务器上进行配置,设置允许来自特定IP地址的远程连接。可以编辑MySQL的配置文件或者使用命令行进行配置。
4. 配置集群中其他节点的MySQL连接:在集群中的其他节点上,需要配置MySQL客户端连接到MySQL服务器。可以在每台节点上安装MySQL客户端,并在配置文件中设置MySQL服务器的IP地址和连接端口。
5. 远程连接MySQL并操作数据库:在配置好MySQL客户端后,可以使用MySQL命令行工具或者其他图形化工具,远程连接MySQL服务器,并进行数据库的操作。可以进行数据的插入、查询、更新、删除等操作。
6. 使用MySQL和Hadoop集成:一些应用场景需要将Hadoop和MySQL集成在一起,例如将Hadoop中的数据导入到MySQL中,或者将MySQL中的数据导入到Hadoop中进行分析和处理。可以使用Sqoop等工具进行数据的导入和导出。
7. 安全性考虑:在远程连接MySQL时,需要考虑安全性的问题。可以通过设置MySQL用户的权限,限制用户的访问权限;使用SSH隧道等方式进行加密传输;设置防火墙规则,仅允许特定IP地址的访问等。
以上是在Hadoop集群中部署和远程连接MySQL的一些学习收获。掌握了这些知识后,可以更好地利用Hadoop和MySQL进行数据的存储、查询和分析,在大数据处理和应用开发中发挥更大的作用。