• 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
    
    • 1

    在这里插入图片描述
    第二个命令安装postgresql程序

    sudo yum install -y postgresql14-server
    
    • 1

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

    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
    
    • 1

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

    sudo passwd -d postgres
    sudo -u postgres passwd
    
    • 1
    • 2

    此时输入两次密码即可,之后就可以愉快地用postgres用户访问数据库相关内容了
    在这里插入图片描述
    此时就可以访问/var/lib/pgsql/14/data/pg_hba.conf文件了,需要在这边在控制外部访问的文件中添加内容

    host    all  			all   		0.0.0.0/0	     		md5
    
    • 1

    具体含义如下
    在这里插入图片描述
    另外可以在同目录找到postgresql.conf文件,用于控制对外开放的端口,默认状态为5432
    在这里插入图片描述
    如有需要修改,修改后重启生效

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

    sudo systemctl enable postgresql-14
    sudo systemctl start postgresql-14
    
    • 1
    • 2

    此时就可以使用远程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
    
    • 1

    在这里插入图片描述
    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
    
    • 1

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

    rpm -qa|grep mariadb
    
    • 1

    在这里插入图片描述
    查了下果然是有的,虽然只是个lib,但是还是先将其移除

    sudo yum remove mariadb-libs.x86_64
    
    • 1

    在这里插入图片描述
    接下来就可以真正地进行安装了,先修改路径为解压了一堆包的目录
    以如下顺序进行安装,有的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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    由于各rpm包各有各的前置需要安装的东西,如果第一把就开始乱序安装就会这样😅😅😅,所以一定还是得按顺序安装。
    在这里插入图片描述
    最后安到server基本就ok了
    在这里插入图片描述

    systemctl enablemysqld
    systemctl start mysqld
    
    • 1
    • 2

    设置开机启动并立刻启动
    在这里插入图片描述
    先获取下mysql刚开始的暂存密码,不然都进不去具体数据库

    sudo grep "temporary password" /var/log/mysqld.log
    
    • 1

    在这里插入图片描述
    修改其root用户密码(这里的root指的是mysql的用户不是linux的)

    alter user root@'localhost' identified by '【你的新密码】';
    
    • 1

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

     systemctl restart mysqld
    
    • 1

    再次重启即可

    在这里插入图片描述
    此时就可以用GUI工具连接了

  • 相关阅读:
    SpringCloudGateway--谓词(断言)
    oracle行转列、列转行总结
    中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例
    MIKE水动力笔记20_由dfs2网格文件提取dfs1断面序列文件
    青海、山西二建成绩公布 安徽二建有25033人合格进行公示
    vue-router路由守卫
    java学习笔记(2)
    纯 CSS 实现瀑布流布局的方法
    Alevel物理测量学真题解析
    【HIT-OSLAB-2-系统调用的实现】
  • 原文地址:https://blog.csdn.net/weixin_43903312/article/details/134451395