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工具连接了

相关推荐
mqiqe2 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
工业甲酰苯胺2 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
BestandW1shEs2 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师2 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球2 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...2 小时前
表的操作(MySQL)
数据库·mysql·表的操作
难以触及的高度3 小时前
mysql中between and怎么用
数据库·mysql
小技与小术5 小时前
数据库表设计范式
数据库·mysql
安迁岚5 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql