Centos6安装CDH5.15.1最详细版-3 安装Mysql数据库

安装Mysql

  1. 下载Mysql,官方网址:https://www.mysql.com/
    下载:https://dev.mysql.com/downloads/mysql/5.6.html#downloads
    在这里插入图片描述

在这里插入图片描述

安装包为:MySQL-5.6.41-1.el6.x86_64.rpm-bundle.tar
下载完成后上传服务器:
在这里插入图片描述

  1. 解压tar包,并添加执行权限
## 解压tar包
tar -xvf MySQL-5.6.41-1.el6.x86_64.rpm-bundle.tar -C /opt/software/mysql/
cd /opt/software/mysql/

## 添加执行权限
chmod u+x *.rpm
  1. 安装MySQL-shared-compat替换系统自带的mysql-libs
    替换前:
    在这里插入图片描述
# 先查看一下是否有系统自带的mysql插件,我这里是有的
rpm -qa | grep -i mysql
# 先安装MySQL-shared-compat
rpm -ivh MySQL-shared-compat-5.6.41-1.el6.x86_64.rpm
# 再卸载mysql-libs
yum remove mysql-libs

替换后:
在这里插入图片描述
4. 安装mysql

# 安装MySQL-server
rpm -ivh MySQL-server-5.6.41-1.el6.x86_64.rpm
# 安装MySQL-client
rpm -ivh MySQL-client-5.6.41-1.el6.x86_64.rpm

遇到的问题:
在这里插入图片描述

错误如下:

warning: MySQL-server-5.6.41-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        libnuma.so.1()(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
        libnuma.so.1(libnuma_1.1)(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64
        libnuma.so.1(libnuma_1.2)(64bit) is needed by MySQL-server-5.6.41-1.el6.x86_64

警告信息网上资料说:这是由于yum安装了旧版本的GPG keys造成的
解决办法:在后面加上–force --nodeps
下面的error是安装缺失依赖包,错误解决办法:

yum install numactl

在这里插入图片描述

  1. 配置Mysql

安装完以后Mysql生成一个随机密码保存在/root/.mysql_secret

# 启动Mysql
service mysql start
# 不用再配置开机启动了,安装包已经设置Mysql开机启动
# 查看Mysql密码
more ~/.mysql_secret
# 进行Mysql的基本配置
/usr/bin/mysql_secure_installation --user=mysql

在这里插入图片描述

在这里插入图片描述

  1. 开启远程登陆
# 命令行登陆Mysql
mysql -uroot -proot
# 添加远程登陆权限
Grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
# 重新加载权限
flush privileges;

在这里插入图片描述

  1. 本地通过Navicat远程连接Mysql:

在这里插入图片描述

  1. 将Mysql驱动包放入Java 共享目录
    注意,如果/usr/share/java/目录不存在,则手动创建!
mkdir /usr/share/java

三台服务器都要做
8.1 重命名Mysql驱动包,把版本号去掉,将jar包移到java共享目录下

mv mysql-connector-java-8.0.12.jar /usr/share/java/mysql-connector-java.jar

在这里插入图片描述
8.2 将Mysql驱动包分发到另外两台服务器

scp /usr/share/java/mysql-connector-java.jar root@hadoop-2:/usr/share/java
scp /usr/share/java/mysql-connector-java.jar root@hadoop-3:/usr/share/java

在这里插入图片描述
这一步如果不做的话后面Cloudera Manager好多需要连接Mysql的步骤都会报找不到Mysql驱动的错误
一定要把Mysql驱动包的版本号去掉

  1. 创建数据库及用户并添加权限
    其他的数据库实例使用uft8编码,hive和oozie使用默认的编码方式
    如下,可直接复制,后面会用到。
create database if not exists amon default charset utf8 collate utf8_general_ci;
create database if not exists rman default charset utf8 collate utf8_general_ci;
create database if not exists nav default charset utf8 collate utf8_general_ci;
create database if not exists navms default charset utf8 collate utf8_general_ci;
create database if not exists hue default charset utf8 collate utf8_general_ci;
create database if not exists sentry default charset utf8 collate utf8_general_ci;
create database if not exists hive;
create database if not exists oozie;
grant all on hive.* to 'hive'@'%' identified by 'hive' with grant option;
grant all on oozie.* to 'oozie'@'%' identified by 'oozie' with grant option;
grant all on hue.* to 'hue'@'%' identified by 'hue' with grant option;
grant all on amon.* to 'amon'@'%' identified by 'amon' with grant option;
grant all on rman.* to 'rman'@'%' identified by 'rman' with grant option;
grant all on nav.* to 'nav'@'%' identified by 'nav' with grant option;
grant all on navms.* to 'navms'@'%' identified by 'navms' with grant option;
grant all on sentry.* to 'sentry'@'%' identified by 'sentry' with grant option;
flush privileges;
  1. 为Cloudera Manager配置Mysql
    为Cloudera Manager配置外部的数据库需要对此外部数据库进行一些配置

ClouderaManager官网对Mysql配置的翻译,
大致意思是:
1) 需要配置Mysql的搜索引擎为InnoDB
2) Mysql安装好以后默认分配的缓冲区和内存比较小,ClouderaManager会非常频繁地连接Mysql需要配置一下,具体根据你集群的大小配置最大连接数
3) 二进制日志对于ClouderaManager不是必须的,但是对Mysql有好处,这个你随意
然后官网在下面给了一个my.cnf配置的例子,然后说只要你的大数据集群在50个节点以内都可以使用下面的这个配置

10.1 查找my.cnf

my.cnf路径一般是/etc/my.cnf没有的话创建,其他地方有的话就修改。

find / -name my.cnf

我这里在/usr/下
在这里插入图片描述

10.2 修改/usr/my.cnf文件

[mysqld]
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links = 0

key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1

max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M

#log_bin should be on a disk with enough free space. Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your system
#and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log

# For MySQL version 5.1.8 or later. For older versions, reference MySQL documentation for configuration help.
binlog_format = mixed

read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_ALL_TABLES

10.3 重启Mysql服务

service mysql restart

在这里插入图片描述

10.4 测试

在Mysql中随便创建一个表执行命令

show table status

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_36939535/article/details/82914560