0
点赞
收藏
分享

微信扫一扫

0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22

作者:余枫


1

文档编写目的


在安装CDH集群时,可能会选择不同外部数据库作为集群的元数据库,具体可以参考《​​CDH安装前置准备​​》。在这里选择MySQL作为集群的元数据库,MySQL有两种安装方式,RPM或者TAR包的方式进行安装。Fayson在使用RPM的方式安装的过程中遇到mariadb-libs依赖包冲突的问题,因为RPM安装MySQL时会自动安装mysql-community-libs依赖包,而在安装Cloudera Agent服务时会强依赖mariadb-libs包,导致mariadb-libs和mysql-community-libs包冲突,导致Agent服务安装失败。因此本文档采用TAR方式在ReadHat7.2上安装MySQL5.7.22。


  • 内容概述

1.环境准备

2.Tar包安装MySQL5.7.22

3.MySQL登录测试

4.总结


  • 测试环境

1.CM和CDH版本为6.1.1

2.MySQL5.7.22


2

安装前置准备


1.卸载原有MariaDB


rpm -e --nodeps mariadb-server-5.5.44-2.el7.x86_64 mariadb-5.5.44-2.el7.x86_64


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_依赖包

0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_02


2.删除配置文件及数据目录,保证MariaDB完全的卸载


rm -rf /var/lib/mysql
rm -f /etc/my.cnf


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_数据库_03


3.下载MySQL的Tar安装包


https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.22-el7-x86_64.tar.gz


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_04


4.在OS上创建mysql用户

检查mysql用户和组是否存在,由于已经存在,所以不用再创建。

如果不存在则创建,命令为:


useradd mysql


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_依赖包_05


3

MySQL安装


1.解压下载好的mysql-5.7.22-el7-x86_64.tar.gz压缩包到/var/lib目录下


tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz
mv mysql-5.7.22-el7-x86_64 /var/lib/mysql


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_06


2.创建MySQL数据目录并修改目录属主


mkdir -p /var/lib/mysql/data
chown -R mysql:mysql /var/lib/mysql


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_依赖包_07

0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_数据库_08


3.创建MySQL日志目录/var/log/mysql,并修改目录属主


mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_依赖包_09


4.进入到MySQL安装目录的bin目录下,执行如下命令初始化MySQL数据库


mysqld --initialize --user=mysql --basedir=/var/lib/mysql/ --datadir=/var/lib/mysql/data/


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_依赖包_10


初始化成功后,在上图中最后一行可以看到,显示了生成的默认密码FngeS+shE8Fj,

需要记录下该密码,在初次登录MySQL时需要使用该密码。


5.修改MySQL配置文件/etc/my.conf(MySQL服务启动默认加载的是该配置文件)


[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/var/lib/mysql
# 设置mysql数据库的数据的存放目录
datadir=/var/lib/mysql/data
# 允许最大连接数
max_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
socket=/var/lib/mysql/mysql.sock
log-bin=mysql-bin
server-id=36
binlog_format=MIXED

#慢日志位置
slow_query_log_file=/var/log/mysql/slow_query.log
#慢日志时间
long_query_time=1
#开启慢日志
slow_query_log=TRUE
[client]
socket=/var/lib/mysql/mysql.sock


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_11


注意:根据自己MySQL的安装目录、数据目录及日志目录进行相应的修改。


6.将MySQL服务添加到系统自启动服务列表中


cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld


设置MySQL开机自启动

systemctl enable mysqld


启动MySQL并查看状态

systemctl start mysqld
systemctl status mysqld


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_12


4

MySQL登录验证


1.初次登录使用初始化数据库时生成的默认密码,登陆MySQL后,需要修改root用户密码


set password=password('!qQ123456');
flush privileges;


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_13


2.创建一个测试库及测试表


0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_依赖包_14


向表中插入数据

0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_mysql_15


查看插入的数据

0618-6.1.1-如何在CDH6集群内节点安装MySQL5.7.22_数据库_16


5

总结


Fayson在使用RPM的方式安装的过程中遇到mariadb-libs依赖包冲突的问题,因为RPM安装MySQL时会自动安装mysql-community-libs依赖包,而在安装Cloudera Agent服务时会强依赖mariadb-libs包,导致mariadb-libs和mysql-community-libs包冲突,导致Agent服务安装失败。本篇文章采用Tar包的方式安装MySQL5.7.22数据库解决依赖包冲突问题。


在卸载mariadb依赖包时避免使用yum remove方式,该卸载方式会导致卸载掉很多额外的依赖包,可能会影响到OS其它服务的正常使用,建议使用rpm -e --nodeps mysql-community-libs方式卸载。


举报

相关推荐

0 条评论