下载wet命令
yum -y install wget
在线下载mysql安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装MySQL
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装MySQL服务
- 首先到 cd /etc/yum.repos.d/ 目录下,查看安装的mysql
cd /etc/yum.repos.d/
- 开始安装MySQL服务
yum -y install mysql-server
- 出现了错误,显示mysql软件包的公钥尚未安装
- 解决方法:经过查询明白,如果使用的4.1以上版本的rpm的话,除了import mysql的公钥到个人用户的配置中,还需要import mysql的公钥到RPM的配置中(此方案只适合mysql5.7)
- 执行以下命令:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
- 再次执行安装mysql服务命令
yum install mysql-server
这次就安装成功了。
然后接着启动mysql
systemctl start mysqld.service
修改临时密码
- 使用
grep
命令查看临时密码先登录进去MySQL,然后修改MySQL密码
grep 'temporary password' /var/log/mysqld.log
- 可以看出我这里面的临时密码为:l645twen#svP
- 先用临时密码登录
mysql -uroot -p
- 把密码改为低风险
mysql> set global validate_password_policy=LOW;
- 修改密码长度
mysql> set global validate_password_length=5;
- 设置新密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '自己设置的新密码';
开启远程访问
- 首先退出mysql(ctrl+d)
- 关闭防火墙
sudo systemctl disable firewalld
- 再次登录mysql,上面已经修改了密码,就用新的密码
mysql -uroot -p
- 切换到mysql数据
mysql> use mysql;
- 查看user表
mysql> select Host,User from user;
- 修改为允许任何地址访问(下面的host可以换成ip地址名,若开启所有的,用%代替IP)
mysql> update user set Host='%' where User='root';
- 刷新权限
mysql> flush privileges;
使用Navicat连接工具测试
- 退出mysql后,执行如下图命令,查看相关IP地址名
- 再打开Navicat连接工具测试
执行下面命令在Linux中启动MySQL数据库
service mysql start
mysql -u root -p
输入密码后,你就可以进入“mysql>”命令提示符状态
再自主创建好了我们所需要的MySQL数据库和表
下面用Spark连接Mysql数据库,Spark支持通过JDBC方式连接到其他数据库获取数据生成DataFrame
打开火狐(FireFox)浏览器,搜索mysql官网,下载一个MySQL的JDBC驱动(下载),一般默认保存在hadoop用户的当前工作目录的“下载”目录下
cd ~
cd 下载
就可以看到刚才下载到的MySQL的JDBC驱动程序,文件名称为mysql-connector-j-8.10.33.tar.gz。现在,使用下面命令,把该驱动程序拷贝到spark的安装目录下:
sudo tar -zxf ~/下载/mysql-connector-j-8.10.33.tar.gz -C /usr/local/spark
cd /usr/local/spark
ls
这时就可以在/usr/local/spark目录下看到这个驱动程序文件所在的文件夹mysql-connector-j-8.10.33,进入这个文件夹,就可以看到驱动程序文件mysql-connector-j-8.10.33.jar。
前提是要先启动mysql服务,或者到这里启动也行。
下面要启动一个spark-shell,启动的时候,要附加一些参数。启动Spark Shell时,必须指定mysql连接驱动jar包。
cd /usr/local/spark
./bin/spark-shell \
--jars /usr/local/spark/mysql-connector-j-8.10.33/mysql-connector-j-8.10.33.jar \
--driver-class-path /usr/local/spark/mysql-connector-j-8.10.33.jar
之后启动进入spark-shell以后,可以执行命令连接数据库,读取数据