Hdoop学习笔记(HDP)-Part.07 安装MySQL

目录
Part.01 关于HDP
Part.02 核心组件原理
Part.03 资源规划
Part.04 基础环境配置
Part.05 Yum源配置
Part.06 安装OracleJDK
Part.07 安装MySQL
Part.08 部署Ambari集群
Part.09 安装OpenLDAP
Part.10 创建集群
Part.11 安装Kerberos
Part.12 安装HDFS
Part.13 安装Ranger
Part.14 安装YARN+MR
Part.15 安装HIVE
Part.16 安装HBase
Part.17 安装Spark2
Part.18 安装Flink
Part.19 安装Kafka
Part.20 安装Flume

七、安装MySQL

mysql主从复制的原理:
1)master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events);
2)slave将master的binary log events拷贝到它的中继日志(relay log);
3)slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)。
主从配置注意点:

  • 主、从DB server数据库的版本一致,主DB server和从DBserver数据库数据一致 主DB
  • server开启二进制日志,主DB server和从DB server的server_id都必须唯一

1.删除MariaDB

查询并删除原有的MariaDB

ansible nn -m shell -a 'rpm -qa | grep mariadb'
ansible nn -m shell -a 'rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64'

2.安装

创建/root/ansible/mysql.yml文件

---
- hosts: nntasks:- name: install mysqlunarchive:src: "/opt/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz"dest: "/usr/local/"- name: create groupgroup:name: mysqlstate: present- name: create useruser:name: mysqlgroup: mysqlstate: present- name: create directoryfile:path: "/data01/mysql/mariadb"state: directoryowner: mysqlgroup: mysqlrecurse: yes- name: create file of logfile:path: "/data01/mysql/mariadb/mariadb.log"state: touchowner: mysqlgroup: mysql

执行安装

ansible-playbook mysql.yml

3.配置

创建配置文件/etc/my.cnf,hdp01的server-id为100,hdp02的server-id为200

[mysqld]
user = mysql   # mysqld程序在启动后将在给定UNIX/Linux账户下执行。mysqld必须从root账户启动才能在启动后切换到另一个账户下执行
basedir = /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64/      # MySQL安装的绝对路径
datadir = /data01/mysql/data    # MySQL数据存放的绝对路径socket = /data01/mysql/mysql.sock       # socket文件路径
port = 3306     # 服务端口号
server-id=100   # MySQL服务的唯一编号,每个MySQL服务的id需唯一default_authentication_plugin = mysql_native_passwordcharacter-set-server = utf8mb4          # 数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
collation-server = utf8mb4_general_ci   # 数据库字符集对应一些排序等规则,注意要和character-set-server对应
init_connect='SET NAMES utf8mb4'        # 设置client连接mysql时的字符集,防止乱码
lower_case_table_names = 1              # 是否对 sql 语句大小写敏感,1 表示不敏感key_buffer_size = 16M   # 用于指定索引缓冲区的大小
max_allowed_packet = 1024M # 设置一次消息传输的最大值,如果有BLOB对象建议修改成1G
sql_mode = TRADITIONAL  # 表示SQL模式的参数,通过这个参数可以设置检验SQL语句的严格程度
pid-file = /data01/mysql/data/mysql.pid # pid-file文件路径
log-bin=/data01/mysql/mysql-bin # 二进制文件存放路径,生产环境下建议将bin-log和data分磁盘存储,避免日志打满影响数据
max_connections = 1000                  # 设置最大连接数[mysqld_safe]
log-error = /data01/mysql/mariadb/mariadb.log
pid-file = /data01/mysql/mariadb/mariadb.pid[client]
port = 3306
socket = /data01/mysql/mysql.sock

4.初始化

【hdp01】【hdp02】初始化基础信息,得到数据库的初始密码,在root账号下执行

cd /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64/bin/
./mysqld --initialize

5.配置系统服务

【hdp01】【hdp02】
配置mysqld系统服务文件/usr/lib/systemd/system/mysql.server.service

[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/data01/mysql/data/mysql.pid
ExecStart=/usr/local/mysql-5.7.25-linux-glibc2.12-x86_64/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false[Install]
WantedBy=multi-user.target

重新加载

systemctl daemon-reload

通过系统服务启动mysql.server并查看服务状态

systemctl start mysql.server
systemctl status mysql.server

6.重置root密码

【hdp01】【hdp02】做软链接,方便登录

ln -s /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64/bin/mysql /usr/local/sbin/mysql

使用初始化获得的root密码登录一直报错,所以需要按照如下方法免密进入。
在这里插入图片描述
先停掉原有的系统服务mysql.server,手工携带参数–skip-grant-tables启动MySQL程序,用以免密进入MySQL修改密码(系统服务已经写好了启动参数,因此手工携带参数单次启动)
systemctl stop mysql.server
cd /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64/support-files/
./mysql.server start --skip-grant-tables
先清空root密码及修改为远程登录
mysql -uroot -p
use mysql;
update user set authentication_string=‘’,host=‘%’ where user=‘root’;
flush privileges;
手工停掉免密登录的MySQL进程,以服务形式启动MySQL
./mysql.server stop
systemctl start mysql.server
再次登陆的时候是空密码登陆,然后修改密码
mysql -uroot -p
alter user ‘root’@‘%’ identified by ‘lnyd@LNsy115’;
flush privileges;

7.主从配置

【hdp01】在mysql中,查看主节点信息

show master status;

在这里插入图片描述
创建用于slave同步日志的账号master

create user 'master'@'192.168.111.202' identified with mysql_native_password by 'Aa@123456';
grant replication slave on *.* TO 'master'@'192.168.111.202';
flush privileges;

【hdp02】在mysql中,配置为slave模式

stop slave;
reset slave;
change master to master_host="192.168.111.201", master_user="master",master_password="Aa@123456", master_log_file="mysql-bin.000014",master_log_pos=605;

CHANGE MASTER TO MASTER_HOST:主服务器的IP地址
MASTER_USER:主服务器上用于同步账号
MASTER_PASSWORD:同步账号的密码
MASTER_LOG_FILE:bin日志的文件名,取自主节点SHOW MASTER STATUS结果
MASTER_LOG_POS:bin Eposition值,取自主节点SHOW MASTER STATUS结果
启用从节点

start slave;

在这里插入图片描述
查看从节点状态

show slave status\G;

观察Slave_IO_Running和Slave_SQL_Running如果为YES,说明运行正常
在这里插入图片描述
如果出现NO,可能是slave机器重起后,事务回滚造成的,在从节点上执行如下:

stop slave;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave;

8.测试

在主节点上创建测试账号及测试库,查看从节点是否同步
【hdp01】创建测试账号及测试数据库、测试表

create user 'test_user_0212'@'localhost';
flush privileges;
create database test_db_0212;
create table test_db_0212.test_table_0212 (id integer);

【hdp02】查看是否存在测试账号、测试数据库及测试表

select user,host from mysql.user where user='test_user_0212';

在这里插入图片描述

show databases;

在这里插入图片描述

describe test_db_0212.test_table_0212;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/191782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8改进 | 2023 | 给YOLOv8换个RT-DETR的检测头(重塑目标检测前沿技术)

一、本文介绍 本文给大家带来是用最新的RT-DETR模型的检测头去替换YOLOv8中的检测头。RT-DETR号称是打败YOLO的检测模型,其作为一种基于Transformer的检测方法,相较于传统的基于卷积的检测方法,提供了更为全面和深入的特征理解,将…

【从删库到跑路 | MySQL总结篇】事务详细介绍

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、事务…

分享86个节日PPT,总有一款适合您

分享86个节日PPT,总有一款适合您 86个节日PPT下载链接:https://pan.baidu.com/s/1J09nhufX_3gvT2XxZkKz6Q?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易…

Paxos 算法

Paxos 算法 介绍 Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是 Leader 节点、多个事件发生的…

每天五分钟计算机视觉:AlexNet网络的结构特点

本文重点 在前面的一篇文章中,我们对AlexNet网络模型的参数进行了详细的介绍,本文对其网络模型的特点进行总结。 特点 1、AlexNet的网络结构比LeNet5更深,模型包括5个卷积层和3个全连接层。参数总量大概为249MB。 2、Alex使用了ReLu激活函…

在re:Invent上IBM宣布与亚马逊云科技携手,Amazon RDS for DB2正式亮相

11月29日,IBM在亚马逊云科技re:Invent 2023上宣布,与亚马逊云科技合作推出Amazon Relational Database Service(Amazon RDS)for Db2。这项全新的完全托管云服务旨在简化客户在混合云环境中管理人工智能(AI)…

MDK5改造之格式化以及文件函数注释插件和主题应用

MDK5插件以及主题应用 前言一、主题修改1、主题文件下载2、主题应用 二、插件安装以及使用1.下载插件2、插件使用步骤 前言 为了写代码的心应手,先对MDK5进行改造 提示:以下是本篇文章正文内容,下面案例可供参考 🎉参考了其他大师…

结合贝叶斯定理浅谈商业银行员工异常行为排查

1.贝叶斯定理的数学表达 贝叶斯方法依据贝叶斯定理。关于贝叶斯定理解释如下:首先我们设定在事件B条件下,发生事件A的条件概率,即 ,从数学公式上,此条件概率等于事件A与事件B同时发生的概率除以事件B发生的概率。 上述…

Fiddler抓包工具之Fiddler+willow插件应用

安装Fiddler的安装包地址:fillderwillow 解压后安装fiddler4和willow1.4.*版本。 安装成功后,启动fiddler后会出现willow插件按钮: 说明安装成功。 重定向 willow重定向 进入willow界面后,通过右键->Add Project ->Add Ru…

鸿蒙开发学习笔记

快速入门 配置网络权限 1.打开项目的 module.json5 文件 2.在module 里面写下面代码 3.这样就可以使用网络图片了 4.模拟器上就可以正常显示网络图片了 5.官方文档有相吸说明 6. 华为官方编辑工具使用技巧(内置文档),鼠标移动到标签上&…

对于Kotlin DSL的简单解析与使用

DSL(领域特定语言)是Kotlin所带来的强大语法特性之一,也是Java中所不存在的功能,JetBrain也基于DSL开发出了众多的开源库,Kotlin的开发者可以使用DSL来重构许多已有的代码,甚至有可能做到彻底抛弃HTML,XML,…

Mysql——》int(1)和 int(10)区别

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

零基础打靶—CTF4靶场

一、打靶的主要五大步骤 1.确定目标:在所有的靶场中,确定目标就是使用nmap进行ip扫描,确定ip即为目标,其他实战中确定目标的方式包括nmap进行扫描,但不局限于这个nmap。 2.常见的信息收集:比如平常挖洞使用…

Python标准库:math库【侯小啾python领航班系列(十六)】

Python标准库:math库【侯小啾python领航班系列(十六)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ…

【每日一题】找出叠涂元素

文章目录 Tag题目来源题目解读解题思路方法一:哈希表 写在最后 Tag 【哈希表】【数组】【2023-12-01】 题目来源 2661. 找出叠涂元素 题目解读 从左往右遍历 arr 给矩阵 mat 上色,在上色的过程中矩阵的某一行或者某一列的全部被上色了,返回…

(C语言)找出1-99之间的全部同构数

同构数&#xff1a;它出现在平方数的右边。例&#xff1a;5是25右边的数&#xff0c;25是625右边的数&#xff0c;即5和25均是同构数。 #include<stdio.h> int main() {for(int i 1;i < 100;i ){if((i*i % 10 i) || (i*i % 100 i))printf("%d\t%d\n",i,…

Java数据结构之《哈希查找》题目

一、前言&#xff1a; 这是怀化学院的&#xff1a;Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究&#xff0c;问题基本解决&#xff0c;若有bug欢迎下方评论提出意见&#xff0c;我会第一时间改进代码&#xff0c;谢谢&#xff01;) 后面其他编程题只要我写完…

ChatGPT成为“帮凶”:生成虚假数据集支持未知科学假设

ChatGPT 自发布以来&#xff0c;就成为了大家的好帮手&#xff0c;学生党和打工人更是每天都离不开。 然而这次好帮手 ChatGPT 却帮过头了&#xff0c;莫名奇妙的成为了“帮凶”&#xff0c;一位研究人员利用 ChatGPT 创建了虚假的数据集&#xff0c;用来支持未知的科学假设。…

HarmonyOS应用开发——程序框架UIAbility、启动模式与路由跳转

前言 UIAbility简单来说就是一种包含用户界面的应用组件&#xff0c;用于和用户进行交互。每一个UIAbility实例&#xff0c;对应于一个最近任务列表中的任务。 一个应用可以有一个UIAbility&#xff0c;也可以有多个UIAbility。一个UIAbility可以对应于多个页面&#xff0c;建议…

半监督语义分割综述

paper link&#xff1a;https://arxiv.org/pdf/2302.09899.pdf 1. Introduction 图像分割是最古老、研究最广泛的计算机视觉 (CV) 问题之一。图像分割是指将图像划分为不同的非重叠区域&#xff0c;并将相应的标签分配给图像中的每个像素&#xff0c;最终获得ROI区域位置及其类…