Hive数仓:元数据库MySQL安装
1、实验描述
-
本实验安装MySQL是为了给Hive提供元数据存储库,实验中安装MySQL为yum安装方式,实验机器需要能够连接互联网;完成MySQL安装后需要对MySQL进行一系列的配置
-
实验时长:45分钟
-
主要步骤:
-
yum安装MySQL
-
修改MySQL root用户密码
-
添加zkpk用户并赋予远程访问权限
-
修改数据库默认编码
-
2、实验环境
-
虚拟机数量:3
-
系统版本:Centos 7.5
-
MySQL版本:5.7.25
3、相关技能
- Yum安装MySQL
4、知识点
-
Yum安装MySQL相关命令
-
MySQL配置相关命令
5、实验效果
效果图1:展示结果为mysqld服务成功启动
效果图2:展示结果为密码策略修改成功,root用户密码成功修改为简单的zkpk
效果图3:展示结果为成功创建zkpk用户
效果图4:展示结果为成功修改mysql默认编码格式为utf8
6、实验步骤
6.1进入实验中,首先切换到root用户(密码:zkpk)
[zkpk@master ~]# su root
Password:zkpk
6.2查看并卸载系统自带的mariadb-lib数据库
[root@master zkpk]# cd
[root@master ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@master ~]# yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
6.3添加MySQLyum源(首先确保能访问网络)
6.3.1下载mysql源安装包
[root@master ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
6.3.2安装mysql源
[root@master ~]# yum -y localinstall mysql57-community-release-el7-8.noarch.rpm
6.3.3检查mysql源是否安装成功
[root@master ~]# yum repolist enabled | grep "mysql.*-community.*"
6.4安装MySQL
注意:安装mysql服务端时,客户端会作为依赖自动安装
[root@master ~]# yum -y install mysql-community-server
6.5启动MySQL服务
6.5.1命令
[root@master ~]# systemctl start mysqld
6.5.2查看MySQL的启动状态(出现图中绿色running字样表示成功)
[root@master ~]# systemctl status mysqld
6.6设置开机启动
[root@master ~]# systemctl enable mysqld
[root@master ~]# systemctl daemon-reload
6.7修改root默认密码
6.7.1查看mysql安装生成的随机默认密码(/var/log/mysqld.log文件中)
[root@master ~]# grep 'temporary password' /var/log/mysqld.log
6.7.2登录mysql(密码为上图红框标注部分)
[root@master ~]# mysql -uroot -p
6.7.3修改mysql密码为“MyNewPass4!”(建议第一种)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者:
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:
6.8修改mysql密码策略
6.8.1查看msyql密码策略的相关信息
mysql> show variables like '%password%';
6.8.2关闭密码策略
6.8.2.1禁用密码策略,首先使用exit命令退出mysql客户端回到Linux终端,然后在/etc/my.cnf文件中的[mysqld]模块下添加如下一行配置:
mysql>exit;
[root@master ~]# vim /etc/my.cnf
[mysqld]
validate_password = off
6.8.2.2重新启动mysql服务使配置生效:
[root@master ~]# systemctl restart mysqld
6.9修改root密码为zkpk
6.9.1登录mysql(密码:MyNewPass4!)
[root@master ~]# mysql -uroot -pMyNewPass4!
6.9.2修改命令(建议第一种)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'zkpk';
或者
mysql> set password for 'root'@'localhost'=password('zkpk');
6.10添加zkpk用户并赋予远程登录权限
mysql>grant all on *.* to zkpk@'%' identified by 'zkpk';
mysql>grant all on *.* to zkpk@'localhost' identified by 'zkpk';
mysql>grant all on *.* to zkpk@'master' identified by 'zkpk';
mysql>flush privileges;
mysql>exit;
6.10.1使用root用户(密码为zkpk)登录,验证密码策略修改是否成功,验证完毕后使用exit退出mysql
[zkpk@master ~]$ mysql -uroot -pzkpk
mysql>exit;
6.10.2使用zkpk用户(密码为zkpk)登录,验证zkpk用户是否创建成功,验证完毕后使用exit退出mysql
[root@master ~]$ mysql -uzkpk -pzkpk
mysql>exit;
6.11配置默认编码为utf8
6.11.1修改/etc/my.cnf配置文件,在[mysqld]下方添加两行如下编码配置
6.11.2并且在my.cnf文件的末尾添加[client]模块,在[client]模块中设置default-character-set的编码为utf8
[root@master ~]# vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
6.11.3重新启动mysql服务
[root@master ~]# systemctl restart mysqld
6.11.4查看数据库默认编码
6.11.4.1使用root用户登录mysql(密码:zkpk)
[root@master ~]# mysql –uroot –pzkpk
6.11.4.2查看编码
mysql> show variables like '%character%';
6.12MySQL的几个重要目录
配置文件:/etc/my.cnf
日志文件:/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
数据库目录 /var/lib/mysql/
相关命令 /usr/bin(mysqladmin mysqldump等命令)
启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)