CentOS7 安装mysql8(离线安装)postgresql14(在线安装)
注:linux系统为vmware虚拟机,和真实工作环境可能有出入,不过正因如此我暴露了NAT转出的IP也没什么大碍
引言
postgresql与mysql目前都是非常受人欢迎的两大数据库,其各有各的优势,初学者先使用简单一张图来说明两者区别
以上内容引用自https://zhuanlan.zhihu.com/p/643268482
顺带由于自己目前的项目组正在使用的就是postgresql,所以和经典老牌数据库mysql一并装来学学
postgresql14 在线安装以及远程连接
开始前先进入官网查看官方指导 https://www.postgresql.org/download/
首先点击linux后选择Red Hat系(原因具体看下图),总的来说CentOS是企业版RHEL的先行前瞻版本,相对比测试版的Fedora又稳定些,关键是免费于是被很多企业所采用。此处使用yum包管理工具进行下载安装
点击RED HAT框后进入下载选择页,注意这几个看起来像纯Input的框实际上是可点击的
选择好对应的选项,下方就会跳出对应yum脚本
由于一般我们操作linux服务器都是以远程SSH命令进行操作的,本次以xshell工具进行演示
使用第一个命令下载对应的rpm包
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
第二个命令安装postgresql程序
sudo yum install -y postgresql14-server
此时postgresql已经被安装到系统中了,并且系统中也已经添加了postgres这个用户,但是目前还没有设置密码(而且网上好像没找到其初始密码是什么),用当前的用户是无法访问/var/lib/pgsql这个目录的所以先下一步
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
此处执行的是postgresql的初始化,执行后其数据库中就有了基础表和数据库用户,但此时我们还是不知道其系统内postgres用户密码,所以我们切换到root用户进行重置。
sudo passwd -d postgres
sudo -u postgres passwd
此时输入两次密码即可,之后就可以愉快地用postgres用户访问数据库相关内容了
此时就可以访问/var/lib/pgsql/14/data/pg_hba.conf文件了,需要在这边在控制外部访问的文件中添加内容
host all all 0.0.0.0/0 md5
具体含义如下
另外可以在同目录找到postgresql.conf文件,用于控制对外开放的端口,默认状态为5432
如有需要修改,修改后重启生效
接下来启动postgresql的服务,并设置为开机启动
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14
此时就可以使用远程GUI工具进行连接了
要注意的是如果使用远程连接的话是需要先用SSH连接搭载postgresql的主机,然后通过连接到的主机进行数据库服务的访问
对应不同的连接过程
离线安装mysql8
首先到官网下载对应的整合包
https://dev.mysql.com/downloads/mysql/
2023年的话,很多人可能会纠结要不要保持最新的版本来安装练习,但是要注意8.2.0此处有Innovation的标识,标定其为创新性版本,换言之就是并非是能保证稳定的版本,具体的变化可以参考下网络资源。
所以我们此处选择8.0.35,8.0这个大版本基本上也就是目前新一代使用的最多的,社区资源也比较丰富的版本了
下一个开始选择系统,有的人仔细一看居然没有CentOS就懵了,实际上CentOS就是RHEL(redhat 企业级linux)的略前瞻版本,初学者可以直接近似认为是换皮就可以了,所以直接选Red Hat Enterprise Linux即可
第三步则是选择对应的linux系统内核版本号,此处可以先在自己的linux系统进行查询
uname -a
el7是传承自RHEL的版本标识EL7,指内核版本为7,所以此处选择7即可,其中选择X86平台的(Intel/AMD的cpu为x86平台),如果是什么树莓派,或者是M系列芯片或者是有可能未来出的骁龙芯片电脑的话就选ARM平台。
列出的表格一眼就可以看出来,最上面的bundle捆绑包就是下面的合集,可能会有人想着和win系统一样只装个server用着就完事了就只下了server,然而linux包有很多是需要不同其他包做依赖的,比如lib相关包就是被其他模块应用的,所以这里选择直接下载bundle包以防万一。
将下载下来的包传到服务器上,用命令解压
tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar
安装前需要注意一个问题,那就是一般目前linux系统会自带一个mariaDB(和mysql有千丝万缕的联系),有可能会影响到mysql的安装,但是有的人反映是安装的时候会覆盖其mariaDB,不过为了以防万一先移除其mariaDB
rpm -qa|grep mariadb
查了下果然是有的,虽然只是个lib,但是还是先将其移除
sudo yum remove mariadb-libs.x86_64
接下来就可以真正地进行安装了,先修改路径为解压了一堆包的目录
以如下顺序进行安装,有的debug相关的可以暂时不用安装
rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm
由于各rpm包各有各的前置需要安装的东西,如果第一把就开始乱序安装就会这样😅😅😅,所以一定还是得按顺序安装。
最后安到server基本就ok了
systemctl enablemysqld
systemctl start mysqld
设置开机启动并立刻启动
先获取下mysql刚开始的暂存密码,不然都进不去具体数据库
sudo grep "temporary password" /var/log/mysqld.log
修改其root用户密码(这里的root指的是mysql的用户不是linux的)
alter user root@'localhost' identified by '【你的新密码】';
要注意这个地方要换密码是有个强密码检测的,测试了下应该是至少需要大小写再带特殊字符
systemctl restart mysqld
再次重启即可
此时就可以用GUI工具连接了
相关文章:

CentOS7 安装mysql8(离线安装)postgresql14(在线安装)
注:linux系统为vmware虚拟机,和真实工作环境可能有出入,不过正因如此我暴露了NAT转出的IP也没什么大碍 引言 postgresql与mysql目前都是非常受人欢迎的两大数据库,其各有各的优势,初学者先使用简单一张图来说明两者区…...

使用vant list实现订单列表,支持下拉加载更多
在公司项目开发时,有一个需求是实现可以分页的订单列表,由于是移动端项目,所以最好的解决方法是做下拉加载更多。 1.在页面中使用vant组件 <van-listv-model"loading":finished"finished"finished-text"没有更…...

OpenCV快速入门:图像形态学操作
文章目录 前言一、图像形态学基础1.1 背景介绍1.2 像素距离1.2.1 什么是像素距离?1.2.2 常见的像素距离度量方法1.2.3 计算像素距离的代码实现 1.3 图像连通性1.3.1 什么是图像连通性?1.3.2 连通类型1.3.3 连通组件标记1.3.4 连通性在图像处理中的应用 1…...

Scrapy----Scrapy简介
文章目录 概述与应用背景架构和组件功能和特点社区生态概述与应用背景 Scrapy,一个高效、灵活、且强大的Web爬取框架,被广泛应用于数据抓取和网页内容的结构化提取。它是用Python编写的,支持多平台运行,适用于数据挖掘、在线零售信息收集、历史数据存档等多种场景。Scrapy…...

基环树(pseudotree)入门
目录 无向基环树找环,[题目](https://www.luogu.com.cn/problem/P8655)拓扑排序找环并查集找环dfs找环 内向基环树[2876. 有向图访问计数](https://leetcode.cn/problems/count-visited-nodes-in-a-directed-graph/description/)[2127. 参加会议的最多员工数](https…...

nrm的安装以及使用
1,什么是nrm nrm 是一个 npm 源管理器,允许你快速地在 npm源间切换。 什么意思呢,npm默认情况下是使用npm官方源(使用npm config ls命令可以查看),在国内用这个源肯定是不靠谱的,一般我们都会…...

Linux:补充一些常用命令
Linux:补充一些常用命令 1. free -h2. df -lh3. du -sh *4. uname -a5. which6. mvn install 编译打包7. find -name *.jar8. cd -9. nohup java -jar *.jar &10. ps -ef|grep java11. netstat -ntlp 1. free -h free 命令显示系统使用和空闲的内存情况&#x…...

Maven编译报错:javacTask: 源发行版 1.8 需要目标发行版 1.8
报错截图: IDEA中的jdk检查都正常设置的1.8一点毛病没有。参考其他帖子链接如下: https://blog.csdn.net/zhishidi/article/details/131480199https://blog.51cto.com/u_16213460/7197764https://blog.csdn.net/lck_csdn/article/details/125387878 逐…...
python批量为视频添加文字水印和图片水印的程序
如题,代码如下,可设置多个图片水印及它们的移动位置 功能为:可以添加多个动态移动的水印,还可以设置水印的大小以及移动速度,也可以增加文字水印,重点是这个是批量执行的,可以对目录下的所有视…...
使用 webpack 打包 express 应用
使用 webpack 打包 express 应用 安装 webpack 依赖 pnpm add webpack webpack-cli -D初始化配置 可以使用命令 webpack init 初始化配置或者直接自己创建 webpack.config.js 文件和增加 npm 脚本: 下面是 npm 脚本 和 webpack.config.js 配置: // G…...

深度学习——(生成模型)DDPM
前置数学知识 1、先验概率和后验概率 先验概率:根据以往经验和分析得到的概率,它往往作为“由因求果”问题中的“因”出现,如 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xt∣xt−1) 后验概率:指在得到“结果”的信息后重新修正的概率,是…...
uniapp如何使用api相关提示框
uni.showToast:用于显示一条带有图标的提示框。title:提示的内容。icon:图标,可选值包括 success、loading、none。duration:提示框持续时间(单位:毫秒),默认为1500。 un…...

在Java代码中指定用JAXB的XmlElement注解的元素的顺序
例如,下面的类RegisterResponse 使用了XmlRootElement注解,同时也使用XmlType注解,并用XmlType注解的propOrder属性,指定了两个用XmlElement注解的元素出现的顺序,先出现flag,后出现enterpriseId࿰…...

Linux 基本语句_11_无名管道文件复制
父子进程: 父子进程的变量之间存在着读时共享,写时复制原则 无名管道: 无名管道仅能用于有亲缘关系的进程之间通信如父子进程 代码: #include <stdio.h> #include <unistd.h> #include <sys/types.h> #inc…...

侧面多级菜单(一个大类、一个小类、小类下多个物体)
效果: 说明: 左右侧面板使用Animator组件控制滑入滑出。左侧面板中,左的左里面是大类,左的右有绿色的小类,绿色的小类下有多个真正的UI图片按钮。 要点: 结合了一点EasyGridBuilderPro插件的UI元素&…...
2-(脏读,不可重复读,幻读 ,mysql5.7以后默认隔离级别)、( 什么是qps,tps,并发量,pv,uv)、(什么是接口幂等性问题,如何解决?)
1 脏读,不可重复读,幻读 ,mysql5.7以后默认隔离级别是什么? 2 什么是qps,tps,并发量,pv,uv 3 什么是接口幂等性问题,如何解决? 1 脏读,不可重复读…...

wpf devexpress 创建布局
模板解决方案 例子是一个演示连接数据库连接程序。打开RegistrationForm.BaseProject项目和如下步骤 RegistrationForm.Lesson1 项目包含结果 审查Form设计 使用LayoutControl套件创建混合控件和布局 LayoutControl套件包含三个主控件: LayoutControl - 根布局…...

Chrome 浏览器经常卡死问题解决
Chrome 浏览器经常卡死问题解决 打开WX, 搜索“程序员奇点” chrome 任务管理器杀进程 mac 后台有很多 google chrome helper 线程并且内存占用较高 一直怀疑是插件的锅 其实并不是-0- 查看是哪个网页,哪个插件占用内存 chrome 更多工具 -> 任务管理器 切换到…...
listbox控件响应鼠标右键消息
众所周知,对话框中的listbox控件无法响应鼠标消息。 但是,使用SetWindowPtrLong API函数,然后在新的窗口处理程序中,可以响应WM_RBUTTONDOWN等鼠标消息。代码非常简单,暂不提供,自己测试即可。...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...