MySQL(2020-4-25)
1.JDK安装
jdk与jre的区别
jdk就是java的开发工具集,顾名思义就是你做开发用的,其中包括javac,也就是java compiler等。
jre(java runtime environment),就是java程序的运行环境。你所写的java程序在经过javac编译后会形成字符行文件,这个java的中间文件,计算机是看不懂的,而这个文件是给jvm(java的虚拟机)用的,由jvm进行解释后形成机器语言给计算机。而这个jvm就在jre中,也就是说java程序的运行要有jre来担当。
所以jdk和jre的区别就是一个用于开发,一个用于运行,联系就是他们都是java开发者所必备的(除非你就像运行java程序,那么用jre就足够了)。
备注:我自己安装的是JDK,因为在后续搭建大数据环境中要使用JPS指令查看进程,但是jre没法查看,所有选择JDK.
1.1jre安装
安装在/usr/java目录下
mkdir /usr/java
tar -zvxf jre-8u181-linux-x64.tar.gz -C /usr/java/ #解压
ll /usr/java
cd /usr/java/
chown -R root:root /usr/java/jre1.8.0_181 #上面找到的JDK的文件名 进行修正
vi /etc/profile
#java environment
export JAVA_HOME=/usr/java/jre1.8.0_181
export PATH=${JAVA_HOME}/bin:${PATH}
source /etc/profile
which java #核对java是否配置正确
1.2JDK安装
JDK部署(所有节点)
上传jdk到3台机器
mkdir /usr/java/
tar -zvxf jdk-8u221-linux-x64.tar.gz -C /usr/java/ #解压
ll /usr/java
cd /usr/java/
chown -R root:root /usr/java/jdk1.8.0_221 #上面找到的JDK的文件名 进行修正
vi /etc/profile
#java environment
export JAVA_HOME=/usr/java/jdk1.8.0_221
export PATH=${JAVA_HOME}/bin:${PATH}
source /etc/profile
which java #核对java是否配置正确
2.MySQL部署(离线)
我自己的安装方式选择的是第二种安装方式
2.1二进制MySQL离线部署
cd
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
选取第一台机器安装MySQL
cd /root
ll
tar -zvxf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ #解压文件
cd /usr/local
mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql #更改名称为mysql
mkdir mysql/arch mysql/data mysql/tmp
vi /etc/my.cnf
这里把之前的都删除掉,然后复制黏贴文档中的内容
groupadd -g 101 dba #创建用户 ,其中主租是dba,另外一个用户组为root
useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin # 用户名为mysqladmin 用户id为514
cp /etc/skel/.* /usr/local/mysql #复制环境变量配置文件至mysqladmin用户的home目录中
vi mysql/.bashrc
#mysql environment
export MYSQL_BASE=/usr/local/mysql
export PATH=${MYSQL_BASE}/bin:$PATH
chown mysqladmin:dba /etc/my.cnf #赋值权限和用户组,切换用户
chmod 640 /etc/my.cnf
chown -R mysqladmin:dba /usr/local/mysql #修改mysql的安装目录
chmod -R 755 /usr/local/mysql #修改目录的权限
cd /usr/local/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
chkconfig --add mysql
yum -y install libaio
bin/mysqld \
--defaults-file=/etc/my.cnf \
--user=mysqladmin \
--basedir=/usr/local/mysql/ \
--datadir=/usr/local/mysql/data/ \
--initialize #复制粘贴,进行初始化
cd data #查看初始密码
cat hostname.err | grep password #查看密码
su - mysqladmin
service mysql start #启动mysql
mysql -uroot -p
use mysql;
alter user root@localhost identified by '000000'; #重置密码
grant all privileges on *.* to 'root'@'%' identified by '000000';
flush privileges; #刷新权限
exit;
service mysql restart #重新启动
mysql -uroot -p000000
------------------------------------------------------------------
创建CDH元数据库 用户 和amod的服务库
create database cmf default character set utf8;
create database amon default character set utf8;
create database scm default character set utf8;
create database hive default character set utf8;
create database oozie default character set utf8;
create database hue default character set utf8;
grant all privileges on cmf.* to 'cmf'@'%' identified by '000000';
grant all privileges on amon.* to 'amon'@'%' identified by '000000';
grant all privileges on scm.* to 'cmf'@'%' identified by '000000';
grant all privileges on hive.* to 'amon'@'%' identified by '000000';
grant all privileges on oozie.* to 'cmf'@'%' identified by '000000';
grant all privileges on hue.* to 'amon'@'%' identified by '000000';
flush privileges;
exit;
su root
2.2MySQL离线部署
首先需要安装好JDK
=====离线部署MySQL=============
cd
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
yum -y install libaio
选取第一台机器安装MySQL
tar -vxf mysql-5.7.27-1.el7.x86_64.rpm-bundles.tar
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm mysql-community-libs-5.7.27-1.el7.x86_64.rpm mysql-community-client-5.7.27-1.el7.x86_64.rpm mysql-community-server-5.7.27-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
systemctl status mysqld
systemctl start mysqld
ststemctl status mysqld
systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log #查看临时密码
mysql -uroot -p
set global validate_password_policy=0;
set global validate_password_length=6;
ALTER USER 'root'@'localhost' IDENTIFIED BY '000000'; #重置密码
grant all privileges on *.* to 'root'@'%' identified by '000000';
flush privileges; #刷新权限
exit;
systemctl start mysqld #重新启动
mysql -uroot -p000000
------------------------------------------------------------------
创建CDH元数据库 用户 和amod的服务库 #其中这些操作可以一次输入进去,不用每次都单条复制,这样很累
create database cmf default character set utf8;
create database amon default character set utf8;
create database scm default character set utf8;
create database hive default character set utf8;
create database oozie default character set utf8;
create database hue default character set utf8;
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=LOW;
set global validate_password_length=6; #设置密码长度为6
grant all privileges on cmf.* to 'cmf'@'%' identified by '000000';
grant all privileges on amon.* to 'amon'@'%' identified by '000000';
grant all privileges on scm.* to 'cmf'@'%' identified by '000000';
grant all privileges on hive.* to 'amon'@'%' identified by '000000';
grant all privileges on oozie.* to 'cmf'@'%' identified by '000000';
grant all privileges on hue.* to 'amon'@'%' identified by '000000';
flush privileges;
exit;
2.3JDBC部署
JDBC是由一系列连接(Connection)、SQL语句(Statement)和结果集(ResultSet)构成的,其主要作用概括起来有如下3个方面:
建立与数据库的连接。
向数据库发起查询请求。
处理数据库返回结果。
==============
jdbc文件的目录在/usr/share/java
cd /root
ll
mkdir -p /usr/share/java #这一步特别的重要
cp mysql-connector-java-5.1.47.jar /usr/share/java/mysql-connector-java.jar #复制且重新命名
cd /usr/share/java/
ll