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

注:linux系统为vmware虚拟机,和真实工作环境可能有出入

引言

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包

bash 复制代码
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

第二个命令安装postgresql程序

bash 复制代码
sudo yum install -y postgresql14-server

此时postgresql已经被安装到系统中了,并且系统中也已经添加了postgres这个用户,但是目前还没有设置密码(而且网上好像没找到其初始密码是什么),用当前的用户是无法访问/var/lib/pgsql这个目录的所以先下一步

bash 复制代码
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

此处执行的是postgresql的初始化,执行后其数据库中就有了基础表和数据库用户,但此时我们还是不知道其系统内postgres用户密码,所以我们切换到root用户进行重置。

bash 复制代码
sudo passwd -d postgres
sudo -u postgres passwd

此时输入两次密码即可,之后就可以愉快地用postgres用户访问数据库相关内容了

此时就可以访问/var/lib/pgsql/14/data/pg_hba.conf文件了,需要在这边在控制外部访问的文件中添加内容

bash 复制代码
host    all  			all   		0.0.0.0/0	     		md5

具体含义如下

另外可以在同目录找到postgresql.conf文件,用于控制对外开放的端口,默认状态为5432

如有需要修改,修改后重启生效

接下来启动postgresql的服务,并设置为开机启动

bash 复制代码
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系统进行查询

bash 复制代码
uname -a

el7是传承自RHEL的版本标识EL7,指内核版本为7,所以此处选择7即可,其中选择X86平台的(Intel/AMD的cpu为x86平台),如果是什么树莓派,或者是M系列芯片或者是有可能未来出的骁龙芯片电脑的话就选ARM平台。

列出的表格一眼就可以看出来,最上面的bundle捆绑包就是下面的合集,可能会有人想着和win系统一样只装个server用着就完事了就只下了server,然而linux包有很多是需要不同其他包做依赖的,比如lib相关包就是被其他模块应用的,所以这里选择直接下载bundle包以防万一。

将下载下来的包传到服务器上,用命令解压

bash 复制代码
tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar

安装前需要注意一个问题,那就是一般目前linux系统会自带一个mariaDB(和mysql有千丝万缕的联系),有可能会影响到mysql的安装,但是有的人反映是安装的时候会覆盖其mariaDB,不过为了以防万一先移除其mariaDB

bash 复制代码
rpm -qa|grep mariadb

查了下果然是有的,虽然只是个lib,但是还是先将其移除

bash 复制代码
sudo yum remove mariadb-libs.x86_64

接下来就可以真正地进行安装了,先修改路径为解压了一堆包的目录

以如下顺序进行安装,有的debug相关的可以暂时不用安装

bash 复制代码
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了

bash 复制代码
systemctl enablemysqld
systemctl start mysqld

设置开机启动并立刻启动

先获取下mysql刚开始的暂存密码,不然都进不去具体数据库

bash 复制代码
sudo grep "temporary password" /var/log/mysqld.log

修改其root用户密码(这里的root指的是mysql的用户不是linux的)

bash 复制代码
alter user root@'localhost' identified by '【你的新密码】';

要注意这个地方要换密码是有个强密码检测的,测试了下应该是至少需要大小写再带特殊字符

bash 复制代码
 systemctl restart mysqld

再次重启即可

此时就可以用GUI工具连接了

相关推荐
小宇成长录9 分钟前
Mysql:数据库和表增删查改基本语句
数据库·mysql·数据库备份
团儿.1 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
权^2 小时前
MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)
大数据·数据库·学习·mysql
万事大吉CC6 小时前
mysql单表查询·3
数据库·mysql
苹果醋312 小时前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
ZhongruiRao13 小时前
Springboot+PostgreSQL+MybatisPlus存储JSON或List、数组(Array)数据
spring boot·postgresql·json
计算机学姐14 小时前
基于SpringBoot+Vue的高校运动会管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
-XWB-15 小时前
【MySQL】数据目录迁移
数据库·mysql
掘根16 小时前
【MySQL】Ubuntu环境下MySQL的安装与卸载
数据库·mysql·centos
知识分享小能手17 小时前
mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
大数据·开发语言·数据库·sql·学习·mysql·数据分析