MySQLhttps://www.mysql.com/
将下发的ds_db01.sql数据库文件放置mysql中
12、编写Scala代码,使用Spark将MySQL的ds_db01库中表user_info的全量数据抽取到Hive的ods库中表user_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前日期的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.user_info命令,将结果截图粘贴至答案表.docx中对应的任务序号下;
13、编写Scala代码,使用Spark将MySQL的ds_db01库中表sku_info的全量数据抽取到Hive的ods库中表sku_info。字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前日期的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.sku_info命令,将结果截图粘贴至答案表.docx中对应的任务序号下;
软件名称 | 版本 |
ubuntu | 18.04 64 位 |
Hadoop:hadoop-3.1.3.tar.gz | 3.1.3 |
Jdk:jdk-8u212-linux-x64.tar.gz | 1.8 |
Spark:spark-3.1.1-bin-hadoop3.2.tgz | 3.1.1 |
Hive:apache-hive-3.1.2-bin.tar.gz | 3.1.2 |
MySQL | 5.7 |
Scala:scala-2.12.x.tgz | 2.12 |
Vue.js | 3.2 |
ECharts | 5.1 |
JDBC驱动: mysql-connector-java-5.1.37.jar | |
集成开发工具:IDEA 2022 社区版 |
子任务一:(解压到的路径千万不要出现中文!!!小北第一次做到一半最后一步安装的时候才发现!!!浪费了很多时间!!!)
一、前言
MySQL5.7的下载安装与Navicat配置:
二、下载步骤
下载地址:MySQLhttps://www.mysql.com/
温馨提示:
首页滑到最下面,选择Downloads下的MySQL Community server
点击查看下载历史版本
可手动选择历史版本
点击【No thanks,just start my download】不登录直接下载,等待一会有下载弹窗。如果有(Oracle账户选择直接登录,没有的话点击右侧注册一个)
点击【保存】就好,然后开始下载
zip格式是直接解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压。
(解压到的路径千万不要出现中文!!!小北第一次做到一半最后一步安装的时候才发现!!!浪费了很多时间!!!)
(下载完毕后将文件解压到你想保存到的盘和目录内。我是将文件解压到D:\ProgramData\mysql-5.7.44-winx64目录下面)
以上就完成了下载的全部工作。
三、配置环境变量
1、右键此电脑->属性—>高级系统设置—>环境变量—>系统变量
点击系统变量中的path,编辑
点击新建,添加
(麻烦一点的话[不建议]——其实也可以一开始直接新建)
1、点击新建,变量名为:MYSQL_HOME,添加你的mysql-5.7.27-winx64文件夹所在位置。我的是在D:\ProgramData\mysql-5.7.44-winx64)
2、复制%MYSQL_HOME%\bin到原有值的后面
(不建议,很麻烦)
my.ini文件的内容为:如果安装目录不一样,记得修改MySQL的安装路径
环境配置结束后别直接退出,请记得一定要一个一个“确定”!!!
我的mysql bin文件夹的路径 :D:\ProgramData\mysql-5.7.44-winx64
2.配置存放数据库数据文件(配置my.ini文件)
配置完环境变量之后,在D:\ProgramData\mysql-5.7.44-winx64目录下配置文件mys.ini 中,修改安装路径,并添加存放数据的data文件夹路径。在bin的同级目录下切记不要手动创建data文件夹,第一次启动后会自动创建,手动创建会报错。
新建一个“.txt”文件,改后缀名为"my.ini",直接确定!!!
(不用的话可以直接跳过)用notepad注意修改其中的文件夹所在路径。
不要自己创建data!不要自己创建!不要自己创建!系统会自动创建,自己创建会报错。
上述图片中的配置文件内容,可从下方复制,记得修改安装目录
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\ProgramData\mysql-5.7.44-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:\ProgramData\mysql-5.7.44-winx64\data
# 允许最大连接数
max_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
修改内容如下:
# 设置mysql的安装目录
basedir=D:\ProgramData\mysql-5.7.44-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\ProgramData\mysql-5.7.44-winx64
完整安装过程如下,管理员权限运行cmd,运行命令:
完整的安装命令如下:
mysqld --initialize-insecure --user=mysql
mysqld install
net start mysql
mysql -u root -p
mysqladmin -u root -p password root
熟悉复习下mysql的相关命令:
1、初始化data目录
mysqld --initialize(随机密码)
mysqld --initialize-insecure(无密码)
2、经过初始化data重置目录,注意my.ini先配置好,mysqld -remove重新安装下,再次运行
net start mysql
3、3306端口被占用
mysqld --console 可以查看报错信息
netstat -ano 看看是端口是否被占用 #netstat -aon|findstr “3306”
若被占用,PID结束进程,再试试看
4、本地host指向问题
C:\Windows\System32\drivers\etc\hosts
查看下本地host是否指向其他域名,如127.0.0.1是否指向localhost
(不用的话可以直接跳过——跳的这一步)
(正常步骤:my.ini文件的内容为:如果安装目录不一样,记得修改MySQL的安装路径。)
[mysqld]
#端口号
port = 3306
#mysql-5.7.44-winx64的路径
basedir=D:\ProgramData\mysql-5.7.44-winx64
#mysql-5.7.44-winx64的路径+\data
datadir=D:\ProgramData\mysql-5.7.44-winx64\data
#最大连接数
max_connections=200
#编码
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
#编码
default-character-set=utf8
创建完成后进入下一步。
四、安装MySQL
(1)在输入框内输入cmd,以管理员的身份运行,注意这里一定一定一定要以管理员的身份运行,否则在安装过程中会出现因为管理权限不够而导致的Install/Remove of the Service Denied!(安装/卸载服务被拒绝),这一点非常重要!
错误示范:("Win"+"cmd"打开命令提示符窗口是不行的)
正确步骤:
(2)在cmd中进入到D:\ProgramData\mysql-5.7.44-winx64\bin目录下:
输入安装命令:mysqld -install,若出现Service successfully installed,证明安装成功;如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd:
然后继续输入命令:mysqld --initialize,此时不会有任何提示:
再输入启动命令:net start mysql,出现以下提示证明MySQL启动成功:
输入以下命令,以root用户连接到mysql,遇见输入密码直接回车!
mysql -u root -p
当命令提示符前变为mysql>,则证明登陆成功!输入以下命令修改root用户密码!
update mysql.user set authentication_string=password('1234') where user='root';
执行成功后,输入以下命令刷新权限!
flush privileges;
重启mysql服务,即可快乐使用!
net stop mysql
net start mysql
(在配置环境的过程中我也遇到了很多问题,并做了一些总结)
1.执行net start mysql时发生报错,报错提示:
发生系统错误 2。
系统找不到指定的文件。
解决方法:(此方法为通用方法,不一定能解决所有关于这个报错的问题)
1.进入mysql文件夹中bin里(使用管理员权限)
2.执行mysqld remove
3.执行mysqld install
4.执行net start mysql
2、在执行 mysqld --initialize时候
[ERROR] --initialize specified but the data directory has files in it. Aborting.
解决方法:[错误]--指定了初始化,但数据目录中有文件。正在中止
清除掉 数据文件。
对应的目录 :D:\ProgramData\mysql-5.7.44-winx64\data
查看现在目录内容:
把这些都删除掉。
然后重新执行:
mysqld --initialize
可以正常执行了。
3、cmd运行net start mysql
报错:
发生系统错误193 *** 不是有效的 Win32 应用程序。
解决方法:删除bin目录下0KB的mysqld文件
4、发生系统错误 1058。
无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
MySQL之前安装好,一直使用正常的,结果第二次又不行了
首先以管理员身份启动 命令提示符,输入
net start mysql
发现提示“mysql 服务无法启动,系统发生1058错误”
解决方法:
1.输入:
mysqld remove
2.继续输入:
mysqld --initialize
3.接着输入:
mysqld --install
4.再次启动mysql:
mysql -u root -p
输入自己的mysql密码
终于启动成功啦!!!
MySQL启动!! !
(不建议,不要轻易尝试,我用了之后命令提示符直接挡掉了)以跳过验证的方式启动mysql!!!
5、以跳过验证的方式启动mysql,或者在my.ini文件中,[mysqld]节点下,添加skip-grant-tables后,再启动!
mysqld --skip-grant-tables
net start mysql
6、MySQL登录报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
对于出现拒绝访问root用户的解决方案:
错误1045(28000):用户'root'@'localhost'(使用密码:YES)拒绝访问
首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);
解析的地方有两处:1.Access denied(拒绝访问);2.using password:NO/YES
一、出现access denied的原因有如下可能:
1)mysql的服务器停止:
若MySQL已经没有启动,重启MySQL服务器:systemctl restart mysqld
2)用户的端口号或者IP导致:
若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X
3)mysql的配置文件错误----my.ini等文件:
my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释:https://blog.csdn.net/lienfeng6/article/details/78140404
4)root用户的密码错误(后面解决)
二、出现 using password的原因如下:
不输入密码:
错误的密码:
解决方案:
Step 1:跳过MySQL密码验证
找到 MySQL 的配置文件 “my.ini”,找到 [mysqld],在其下面任意一行添加 skip-grant-tables
,保存,如下图所示:
skip-grant-tables
注:my.ini”文件可能在目录 D:\ProgramData\mysql-5.7.44-winx64\MySQL
下。
Step 2
重启 MySQL 服务。
sudo systemctl restart mysqld
Step 3:无密码登录MySQL
-
找到 MySQL 安装目录下的 bin 目录,地址栏输入 cmd,然后回车,如下图所示:
附:如果已经为 MySQL 8.0 配置了环境变量,就可以在任意位置打开 cmd。
mysql -u root -p
输入 mysql -u root -p
回车后会显示输入密码,直接不管,再次回车,不要关闭命令行,如下图所示:
还是启动不成功!!!
解决方法:
修改my.in配置文件
进入mysql安装目录
编辑my.ini
在[mysqld]下添加skip-grant-tables,保存即可。
使用管理员身份打开命令行
①重启mysql:
1、net stop mysql 2、net start mysql
②进入mysql,登录
mysql -u root -p
不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)
③输入use mysql,修改root的密码:
update user set authentication_string=password('1234') where user='root';
flush privileges;
④退出:
quit;
⑤再次重启mysql:
1、net stop mysql 2、net start mysql
⑥测试是否成功就是是否登陆成功咯:
mysql -u root -p
Enter Password>'1234'
就不会出错,可以登录啦!!!
(另外一种情况就是,,你密码输入错误了,如果是初始化后第一次登录,出现这种情况的话,很大概率就是密码错误,初始化后的密码要认真查看,可能会因为空格、小数点等符号输错)