CentOS7 安装mysql8(离线安装)postgresql14(在线安装)

news/2024/7/9 22:09:40 标签: postgresql, mysql

注:linux系统为vmware虚拟机,和真实工作环境可能有出入,不过正因如此我暴露了NAT转出的IP也没什么大碍

引言

在这里插入图片描述

postgresqlmysql目前都是非常受人欢迎的两大数据库,其各有各的优势,初学者先使用简单一张图来说明两者区别
在这里插入图片描述
以上内容引用自https://zhuanlan.zhihu.com/p/643268482
顺带由于自己目前的项目组正在使用的就是postgresql,所以和经典老牌数据库mysql一并装来学学

postgresql14__8">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_72">离线安装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工具连接了


http://www.niftyadmin.cn/n/5193223.html

相关文章

实验(二):存储器实验

一、实验内容与目的 实验要求: 利用 CP226 实验仪上的 K16..K23 开关做为 DBUS 的数据,其它开关做为控制信号,实现主存储器 EM 的读写操作;利用 CP226 实验仪上的小键盘将程序输入主存储器 EM,实现程序的自动运行。 实…

基于Optuna的transformers模型自动调参

文章目录 一、导入相关包二、加载数据集三、划分数据集四、数据集预处理五、创建模型(区别一)六、创建评估函数七、创建 TrainingArguments(区别二)八、创建 Trainer(区别三)九、模型训练十、模型训练(自动搜索)(区别四)启动 tensorboard 以文本分类为例…

SQL零基础入门教程,贼拉详细!贼拉简单! 速通数据库期末考!(八)

FULL OUTER JOIN 除了前面讲到的 INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接),还有另外一种关联方式,即 FULL OUTER JOIN(全外连接) FULL O…

网络协议 WebSocket

一、介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输 1、HTTP协议和WebSocket协议对比 HTTP 是短连接WebSocket 是长连接H…

最长上升子序列模型 笔记

首先附上模板&#xff1a; #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \nusing namespace std;typedef pair<int, int> PII; typedef long long ll;const int N 100010;int n; int a[N], q[N];int main()…

【数据结构】10道经典面试题目带你玩转链表

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.移除链表元素 二.反转链表 三.链表的中间结点 四.链表中倒数第K个结点 五.合并两个有序链表 六.链表分割 七.链表的回文结构 八.相交链表 九.环形链表 一.移…

CI/CD -gitlab

目录 一、常用命令 二、部署 一、常用命令 官网&#xff1a;https://about.gitlab.com/install/ gitlab-ctl start # 启动所有 gitlab 组件 gitlab-ctl stop # 停止所有 gitlab 组件 gitlab-ctl restart # 重启所有 gitlab 组件 gitlab-ctl statu…

后端面经学习自测(三)

文章目录 1、ArrayList和Linkedlist区别&#xff1f;2、ArrayList扩容机制&#xff1f;3、ArrayList和Linkedlist分别能做什么场景&#xff1f;4、事务特性&#xff1f;MySQL事务Redis事务Spring事务5、在Spring中事务失效的场景&#xff1f;6、Java泛型&#xff1f;7、泛型擦除…