因为某些原因,需要在新安装的CentOS8上安装mysql8.0,但是平时用的机器上都是CentOS7+hive1.2.1+mysql5.7。
1 CentOS 7安装hive
1.1 Hive安装及配置
准备hive安装包apache-hive-1.2.1-bin.tar.gz
- (1)解压apache-hive-1.2.1-bin.tar.gz
- (2)修改apache-hive-1.2.1-bin.tar.gz的名称为hive
- (3)修改hive/conf目录下的hive-env.sh.template名称为hive-env.sh
- (4)配置hive-env.sh文件
(1)配置HADOOP_HOME路径
export HADOOP_HOME=/home/lane/software/hadoop-2.7.3
(2)配置HIVE_CONF_DIR路径
export HIVE_CONF_DIR=/home/lane/software/hive/conf
1.2 Hadoop集群配置
(1)必须启动hdfs和yarn
(2)在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改他们的同组权限可写
[lane@hadoop01 hadoop-2.7.3]$ bin/hadoop fs -mkdir /tmp
[lane@hadoop01 hadoop-2.7.3]$ bin/hadoop fs -mkdir -p /user/hive/warehouse
[lane@hadoop01 hadoop-2.7.3]$ bin/hadoop fs -chmod g+w /tmp
[lane@hadoop01 hadoop-2.7.3]$ bin/hadoop fs -chmod g+w /user/hive/warehouse
2 CentOS 7 安装mysql5.7
2.1 卸载已经安装的mysql
下面这种情况是因为系统安装了mysql,导致不兼容
查看已经安装的mysql :
yum list | grep mysql
卸载:
yum remove mysql-libs
2.2 安装mysql服务端
(1)解压mysql安装包
(2)安装服务端
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
(3) 查看初始随机密码
[root@hadoop01 mysql-libs]# cat /root/.mysql_secret
# The random password set for the root user at Wed Feb 19 20:23:16 2020 (local time): ISKEcNwDmkvVrPln
2.3 安装mysql客户端
(1)安装client
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
(2)启动mysql
service mysql start
(3) 连接mysql
mysql -uroot -pISKEcNwDmkvVrPln
(4) 修改密码
mysql> SET PASSWORD=PASSWORD('123456');
(5) 退出,以新密码进入
mysql> quit;
mysql -uroot -p123456
3 CentOS 8 安装mysql8.0
安装前先检查有没有安装mysql。
3.1 安装mysql客户端
[root@hadoop04 MySQL8.0.19]# rpm -ivh mysql-community-common-8.0.19-1.el8.x86_64.rpm
[root@hadoop04 MySQL8.0.19]# rpm -ivh mysql-community-libs-8.0.19-1.el8.x86_64.rpm
[root@hadoop04 MySQL8.0.19]# rpm -ivh mysql-community-client-8.0.19-1.el8.x86_64.rpm
3.2 安装mysql服务端
(1) 安装服务端
[root@hadoop04 MySQL8.0.19]# rpm -ivh mysql-community-server-8.0.19-1.el8.x86_64.rpm
(2)检查mysql进程:
ps -ef | grep mysql
(3)检查mysql用户(组)是否创建了:
cat /etc/group
cat /etc/shuttle
cat /etc/passwd
(4)查看mysql安装版本
mysqladmin --version
(5)mysql初始化:
[root@hadoop04 MySQL8.0.19]# mysqld --initialize
这个初始化: 1会自动创建mysql中root用户的密码,2 创建mysql的文件目录。
mysql的文件目录:/var/lib/mysql
(6)修改mysql目录所属用户与组,命令如下:
chown -R mysql:mysql /var/lib/mysql
(7)检查mysql服务进程是否启动:
systemctl status mysqld
发现没有启动,启动mysqld:
systemctl start mysqld
现在可以使用mysql了。
(8)查询mysql用户root密码:
VhLDfOWv48)+
[root@hadoop04 lib]# cat /var/log/mysqld.log | grep password
(9)mysql配置:
安全配置:
mysql_secure_installation
密码在这里还是写上面的VhLDfOWv48)+,不要设置new password
(10)登录mysql客户端,连接mysql服务器
mysql -uroot -pVhLDfOWv48)+
mysql客户端清屏:ctrl+l
mysql客户端退出指令的继续输入:\c
(11)更新root用户的密码:
使用mysql数据库,将原来root用户的密码置空;
设置新密码;
mysql> use mysql
mysql> update user set authentication_string='' where user='root';
mysql> alter user 'root'@'localhost' identified by '123456';
(12) 开启mysql远程访问
一般情况下不建议开启远程访问
连接mysql服务器,使用mysql数据库,查询root的用户信息
mysql> use mysql;
mysql> select user,host from user;
更新root用户对应的host,改成%,这样任意主机都可以访问mysql服务器:
mysql> update user set host='%' where user='root';
root用户授权:
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
mysql> flush privileges;