postgreSql修改端口后psql命令行链接报错”/tmp/.s.PGSQL.5432“

postgreSql修改端口后psql命令行链接报错”/tmp/.s.PGSQL.5432“今天修改pg的端口号port改成54328后重启完数据库的时候直接psql进库的时候进不去[postgres@iZ8vbifqgkwljcq9ccpkg7Zdata]$psqlpsql:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixdomainsocket”/tmp/.s.PGSQL.5432这时,

大家好,又见面了,我是你们的朋友全栈君。

问题

今天修改pg的端口号port改成54328后重启完数据库的时候直接psql进库的时候进不去

[postgres@iZ8vbifqgkwljcq9ccpkg7Z data]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket “/tmp/.s.PGSQL.5432

解决方案

这时,进数据库有两种方式

  1. psql 后面加上端口号
[postgres@iZ8vbifqgkwljcq9ccpkg7Z ~]$ psql
Password for user postgres: 
psql (12.7)
Type "help" for help.

postgres=# 
  1. 在环境变量/usr/local/pgsql/.bash_profile中加上一句,添加完source下
[postgres@iZ8vbifqgkwljcq9ccpkg7Z ~]$ vi .bash_profile 
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
export PGPORT=54328 #自己添加的环境变量

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH

一些操作心得

  1. 安装完数据库或者其他常用软件,记得修改默认端口,密码加密和复杂设置,防止糟病毒(或者挖矿软件)攻击

笔者就因为使用了默认的用户postgres(密码同)遇到了挖矿软件的攻击,因为放开了对外的访问权限(配置文件的IP:0.0.0.0 all all ),防火墙也没有设置安全策略,病毒暴力激活成功教程了密码,登录系统后在此用户的目录下生成”authorized_keys“文件,里面存放了RSA公钥,对方服务器就可以携带已知的公钥进行免密登录(即使你修改数据库用户密码也无济于事),并且在你的用户目录下的.bash_profile环境变量中追加curl ……a.sh这样的下载矿机脚本指令(即时你删除病毒,每当你切换用户的时候就会重新下载执行),它会下载到隐藏的目录下…的下面(比如/var/tmp/…/***),可以通过find / -name …进行查找并删除,同时删除top下的非正常进程和authorized_keys文件。

  1. postgreSql安装后会创建postgres系统用户作为数据库的默认用户,需要切换到su – postgres用户下进行数据库的操作,psql进行连接登录
  2. 分区的数据表通过Navicat客户端导出*.sql文件,再导入会有错误,可以通过psql自己客户端进行数据库完整导出导入:
1、在服务器A上导出文件
pg_dump -h 127.0.0.1 -p 5432 -U postgres -d 数据库名>c:\mydb.bak

2、在B服务器上创建同名数据库
postgres=# create database 数据库名 <owner username>; -- 创建数据库指定所属者,不指定默认当前的用户postgres
CREATE DATABASE
postgres=#

3、将文件拷到服务器B上面,执行如下命令
psql -h 127.0.0.1 -p 5432 -U postgres -d 数据库名 –f /usr/data/mydb.bak
  1. 更改数据库密码

postgres=# ALTER USER postgres WITH PASSWORD ‘123456’; #设置密码
ALTER ROLE
postgres=#

  1. 控制台命令

\q:退出
\h:查看SQL命令的解释,比如\h select。
?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

  1. 数据库操作

–创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
–插入数据
INSERT INTO user_tbl(name, signup_date) VALUES(‘张三’, ‘2013-12-22’);
–选择记录
SELECT * FROM user_tbl;
–更新数据
UPDATE user_tbl set name = ‘李四’ WHERE name = ‘张三’;
–删除记录
DELETE FROM user_tbl WHERE name = ‘李四’ ;
–添加栏位
ALTER TABLE user_tbl ADD email VARCHAR(40);
–更新结构
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
–更名栏位
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
–删除栏位
ALTER TABLE user_tbl DROP COLUMN email;
–表格更名
ALTER TABLE user_tbl RENAME TO backup_tbl;
–删除表格
DROP TABLE IF EXISTS backup_tbl;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151005.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 启动界面修改工具下载,安卓开机画面更改软件

    android 启动界面修改工具下载,安卓开机画面更改软件安卓开机画面修改是第一屏那个LOGO。。。不是动画,不是第二屏…跟品牌没有关系,是安卓系统的关系!!!开机第一屏不是平时常见的图片格式,这个需要你下载个专门修改开机第一屏的软件来修改,具体每个手机不同版本之间的案桌系统的开机第一屏目录也不一样,这个需要刷机一样刷进去,不能手机里自己改,你到机锋网论坛搜索一下吧,里面有,我这里不方便给你具体地址,怕又被百度给审核了记得千万要对应你的手机型号的…

    2022年5月15日
    61
  • nginx负载均衡的五种算法

    nginx负载均衡的五种算法nginx负载均衡的五种算法一、Nginx负载均衡算法1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。例如:upstreambakend{server192.168.0.1;server192.168.0.2;}2、weight(轮询权值)we…

    2022年10月12日
    4
  • 流量分析入门

    流量分析入门前言个人一直对流量分析…正好看到了一些相关书籍资料,自己向前辈师傅们学习以后整理一些资料来总结一下互联网五层模型在计算机网络这门课中介绍了OSI模型及互联网五层模型:在我们使用抓包软件进行流量分析的时候,抓到的包往往含有数据链路层、网络层、传输层,应用层四个部分,其中一部分在传递到不同层面的时候会被丢弃。我们的wireshark抓的包工作在数据链路层,而burpsuite抓的http包则工作在应用层wireshark的用法打开wireshark,可以看到这是我们的一些接口,我现在用的是Wif

    2022年5月1日
    36
  • 7-20 表达式转换(栈)[通俗易懂]

    7-20 表达式转换(栈)[通俗易懂]原题链接算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 – * + 8 4 / +注意

    2022年8月9日
    4
  • HashSet简单讲解

    HashSet简单讲解HashSet 简单的理解就是 HashSet 对象中不能存储相同的数据 存储数据时是无序的 但是 HashSet 存储元素的顺序并不是按照存入时的顺序 和 List 显然不同 是按照哈希值来存的所以取数据也是按照哈希值取得 存储是无序的这就和 C 里的 Set 就不一样了 C 里面的 Set 是有序的我认为这是在使用时候的主要区别 下面就是 HashSet 简单的用法 一 申请方式括号里面的类型是随你的需要更改的

    2025年10月13日
    5
  • 读书笔记–互联网必读《长尾理论》作者克里斯.安德森[通俗易懂]

    读书笔记–互联网必读《长尾理论》作者克里斯.安德森

    2022年1月24日
    425

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号