• 【大数据折腾不息系列】(三) MySQL安装


    系列文章目录

    (一) VMware虚拟机和CentOS Stream安装
    (二) Hadoop 3.0 安装


    本文主要介绍如何在Linux系统(这里为CentOS Stream 9)上使用yum安装MySQL,这样比较方便,不需要自己去官网下载安装程序和其他繁琐的操作,也是我们在Linux上比较熟悉的安装程序的过程。

    这里安装的MySQL主要是作为后续安装的Hive的元数据存储数据库。

    下面是安装的过程

    1. 添加mysql yum仓库

      访问下面的url下载mysql的yum仓库配置包,用于在我们的Linux上添加mysql的yum仓库

      MySQL Yum Repository:https://dev.mysql.com/downloads/repo/yum/

      mysql yum repository

      这里我们选择第一个,可以直接点击Download下载好文件再上传到Linux上,也可以复制其下载地址,在Linux上执行以下命令下载文件:

      wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
      
      • 1

      下载mysql yum源配置文件

      然后再执行以下命令添加mysql的yum仓库:

      rpm -ivh mysql80-community-release-el9-1.noarch.rpm
      
      • 1

      添加mysql yum源

      查看yum源

      yum repolist enabled | grep "mysql*-community"
      
      • 1
    2. 安装mysql服务器

      yum install -y mysql-community-server
      
      • 1

      yum安装mysql

    3. mysql服务配置

      启动mysql服务:

      systemctl start mysqld.service
      
      • 1

      设置mysql开机启动:

      systemctl enable mysqld.service
      
      • 1

      查看服务情况:

      systemctl status mysqld.service
      
      • 1

      查看mysql服务状态

    4. mysql登录

      查看临时密码:

      grep password /var/log/mysqld.log
      
      • 1

      可以看到mysql第一次启动时为用户root@localhost生成了临时密码用于首次登陆,而且不能在命令行中使用临时密码登录,必须在命令行执行mysql -uroot -p后输入密码才能正常登录,如下图所示:

      临时密码登录

    5. 账户密码相关配置

      使用临时密码第一次登录mysql后需要先修改root@localhost用户的密码后才能进行其他的操作

      修改root@localhost用户密码:

      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root@123456';
      
      • 1

      这里需要注意的是,mysql初始默认的密码策略等级为MEDIUM,密码强度需要满足其要求(密码长度8个字符以上,大概需要包含大小写字母、数字和特殊字符),简单密码是没法设置成功的,如下图所示:

      修改用户密码

      可以用如下命令查看初始密码策略:

      SHOW VARIABLES LIKE 'validate_password%';
      
      • 1

      也可以将密码策略等级改为LOW,这样就可以设置简单密码:

      set global validate_password.policy=LOW;
      
      • 1

      最后,创建用于hive元数据存储的hive用户:

      create user 'hive'@'%' identified with mysql_native_password by 'hive123456';
      
      • 1

      授权hive用户权限:

      grant ALL PRIVILEGES ON *.* to 'hive'@'%';
      flush privileges;
      
      • 1
      • 2

      另外,在修改密码和创建账户的命令中,大家可能会注意到加了mysql_native_password这一参数,这是为了指定密码的加密方式。因为在mysql 8.0版本中默认的密码加密方式为caching_sha2_password,使用这种密码加密方式时,一些mysql数据库客户端(如navicat等)无法连接mysql服务器,需要将加密方式改为mysql_native_password才能正常连接。可以通过执行如下命令查询各个用户密码对应的加密规则:

      select host,user,plugin from mysql.user;
      
      • 1

      查询各个用户密码对应的加密规则

  • 相关阅读:
    【RabbitMQ】——整合SpringBoot
    黑胶歌曲没权限,看我python大展神通,一分钟一个歌单
    微信小程序--云开发
    你真的知道TCP协议中的序列号确认、上层协议及记录标识问题吗?
    使用具有高性能事件流的数据库:关键注意事项
    自动化早已不是那个自动化了,谈一谈自动化测试现状和自我感受……
    为什么要构建垂直切片
    安卓老项目改造为AndroidX
    移动测试之语音识别功能如何测试?
    mock 点击图片显示Too big of an image!
  • 原文地址:https://blog.csdn.net/hzhaoy/article/details/126529895