Linux--MySQL安装

hive在使用的时候会用到mysql数据库的支持,所以在安装hive前必须先安装mysql数据库,由于在安装mysql数据库的时候会使用到yum,所以需要把网络打开,确保可连接互联网。

查看有无安装过mysql

1
rpm -qa|grep mysql

删除原有的mariadb

如果不删除可能安装时报错

1
rpm -qa|grep mariadb

image-20220705192838184

1
sudo rpm -e --nodeps mariadb-libs

下载并安装mysql

可以在https://downloads.mysql.com/archives/community/ 下载

image-20220705193213076

安装mysql服务

上传到linux的software的目录下,进行解压

1
tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar -C /export/software/mysql

image-20220705193454322

安装mysql

1
2
3
4
5
6
7
8
9
10
11
sudo rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

image-20220705193904584

如发现有如下安装错误:

image-20220705194018995

这是由于yum安装了旧版本的GPG keys造成的

解决办法有两个:

在安装命令后面加上 --force --nodeps,进行强制安装。

1
--force --nodeps

运行如下命令:

1
rpm --import /etc/pki/rpm-gpg/RPM*

启动mysql服务

  1. 先查看mysql服务是否启动
    1
    systemctl status mysqld
    image-20220705194152562
  2. 启动mysql服务
    1
    systemctl start mysqld
    image-20220705194251856

查询root随机密码

MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:

1
grep 'temporary password' /var/log/mysqld.log

image-20220705194356631

修改root用户密码

1
mysql -u root -p 旧密码

image-20220705200329427

1
set PASSWORD FOR 'root'@'localhost'=新密码

image-20220705200548016

注意:密码尽量不要过于简单

重新用新密码登陆

image-20220705200644199

设置开机自启动

1
chkconfig mysqld on

image-20220705200741338

创建hive数据库用来保存hive元数据

1
create database hive;

image-20220705201850766

授权使 (操作系统用户)用户可以操作数据库hive中的所有表:

1
grant all on hive.* to 用户名@'主机名' identified by '用户登陆系统密码';
1
flush privileges;

如果出现如下错误:

image-20220705201044438

是由于mysql5.7的安全策略问题,需要修改安全策略:

  1. 查看 mysql 初始的密码策略

    1
    SHOW VARIABLES LIKE 'validate_password%';

    image-20220705201223992

  2. 需要设置密码的验证强度等级

    1
    set global validate_password_policy=LOW;

    image-20220705201305296

  3. 重新设置密码最少长度

    1
    set global validate_password_length=4;

    image-20220705201344931

  4. 再次执行授权语句即可

    1
    flush privileges;

    image-20220705201535881