4.1、yum命令安装
#yum install mysql mysql-devel mysql-server
4.2、启动服务
#service mysqld start
4.3、开机启动(启动mysql)
#chkconfig mysqld on
4.4、创建root管理员密码
#mysqladmin -uroot password ‘123456’
4.5、给用户和机器授权:
#mysql -uroot –p123456
mysql> grant all privileges on *.* to 'root'@'192.168.23.66' identified by 'root' with grant option;
grant all privileges on *.* to 'root'@'*' identified by 'tonglianhuiV' with grant option;
-- tonglianhuiV是密码
>> 这段指令表示'192.168.71.88'的主机可以登陆该mysql server
** 授权所有的数据库和所有的表
grant all on *.* (第一个*是所有的数据库,第二个*是所有的表)
** 授权给你指定的用户和机器
to 'root'@'beat' identified by 'root' with grant option;
4.6、刷新缓存
mysql> flush privileges;
包安装数据库:
1):检查是否系统自带安装Mysql
[root@datanode1 hadoop]# rpm -qa | grep mysql 检查有没有Mysql安装包
[root@datanode1 hadoop]# rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64 删除自带的安装包
2):安装Mysql数据库(可能需要root用户)
2.1):首先安装service数据库(需要安装client方能链接):
[root@datanode1 package]# rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
2.2):安装成功会出现这样的提示!
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.
—— 提示密码在root/.mysql_secret
[root@datanode1 package]# cat /root/.mysql_secret
—— 查看密码
2.3):启动Mysql服务
[root@datanode1 package]# service mysql start
[root@datanode1 package]# service mysql status
2.4):安装client数据库:
[root@datanode1 package]# rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
2.4.1): 从client连接service数据库:
mysql -uroot -pDPxXjTsSoGmoNkK5
如果没有权限,那么就需要回到Root用户的~目录下去设置
2.5):修改密码与登陆权限信息:
需要回到Root的~目录下才能登陆
[root@datanode1 ~]# mysql -uroot -pDPxXjTsSoGmoNkK5
mysql> SET PASSWORD=PASSWORD('123456');
# mysqladmin -uroot password '123456'
2.5.1):修改登陆Myql的权限
* mysql> show databases; 查到Mysql数据库
* mysql> use mysql; 选择Mysql数据库
* mysql> show tables; 查看所有表
select user,host,password from user;
查询这个表的user,host与密码的信息
之所以连接不上,是因为user这个表里的host(主机)没有这
样的信息,所以,需要改写这个信息。
2.5.2):修改user用户的主机登陆的信息
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | datanode1 | *F5B0128BB67C5B0B7B9DD5C3674A44C384202B9F |
| root | 127.0.0.1 | *F5B0128BB67C5B0B7B9DD5C3674A44C384202B9F |
| root | ::1 | *F5B0128BB67C5B0B7B9DD5C3674A44C384202B9F |
+------+-----------+-------------------------------------------+
* update user set Host='%' where user='root' and Host='localhost';
* delete from user where user='root' and Host='datanode1';
* delete from user where user='root' and Host='127.0.0.1';
* delete from user where user='root' and Host='::1';
2.5.3、刷新缓存
mysql> flush privileges;;
配置Metastore(元数据)-Yum与包安装配置
1):配置元数据文本
1.1):需要创建一个xml文件:
[hadoop@datanode1 conf]$ touch hive-site.xml
因为在Windows第一次来执行,就是Windows的
字符编码,那么的话,Linux那边肯定有问题,
所以第一次必须在Linux系统打开
1.1.1):我们在hive-defalut.xml.tmplate(次文本仅参考)需要找一些头的信息放在里面:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
</configuration>
1.2):打开hive-defalut.xml.tmplate这个文件是非常的详细我们可以通过文本查看到三处警告:
* This file is provided for documentation purposes ONLY
这个文件只是提供文档的目的
+
* Any changes you make to this file will be ignored by Hive.
您所作的改变通过蜂巢这个文件将被忽略。
也就是说,在本文本改变的信息,全部被忽略
* You must make your changes in hive-site.xml instead
你必须让你的hive-site的变化。xml而不是
改变的值必须去这个hive-site.xml文件去做,所以我们需要创建这样的文件
1.2.1):我们需要在参考hive-defalut.xml.tmplate文本信息:
分别是:
* javax.jdo.option.ConnectionURL URL配置
* javax.jdo.option.ConnectionDriverName 驱动配置
* javax.jdo.PersistenceManagerFactoryClass 用户名配置
* javax.jdo.option.DetachAllOnCommit 密码配置
我们需要拷贝这4条配置信息到hive-site.xml
1.3):拷贝数据库驱动包[jar文件]到Hive的lib目录
[root@java08 ~]# mv /opt/software/mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-0. 3.1-cdh5.3.6/lib/
注意(ysql-connector-java-5.1.27.tar.gz):
需要吧这个驱动放在hive的lib目录里面,否者会导致mysql找不到jdbc包,连接不上去
2):配置的元数据信息:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<!-- Url-->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://datanode1:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- metastore?createDatabaseIfNotExist=true 如果不存在,就自动创建一个元数据 -->
<property>
<!-- 驱动-->
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<!--数据库用户名-->
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<!-- 数据库密码-->
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
在使用中,我们操作HIVE的时候,需要显示当前数据库和一些信息,为了方便查看,需要修改。
<property>
<!-- 操作hive时,显示信息-->
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
<property>
<!-- 操作hive时,显示信息-->
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
设置表储存文件地址:
<property>
<!--设置储存位置-->
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>