600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > postgreSql修改端口后psql命令行链接报错”/tmp/.s.PGSQL.5432“

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

时间:2022-12-14 04:00:39

相关推荐

postgreSql修改端口后psql命令行链接报错”/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

解决方案

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

psql 后面加上端口号

[postgres@iZ8vbifqgkwljcq9ccpkg7Z ~]$ psqlPassword for user postgres: psql (12.7)Type "help" for help.postgres=#

在环境变量/usr/local/pgsql/.bash_profile中加上一句,添加完source下

[postgres@iZ8vbifqgkwljcq9ccpkg7Z ~]$ vi .bash_profile # .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsexport PGPORT=54328 #自己添加的环境变量PATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH

一些操作心得

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

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

postgreSql安装后会创建postgres系统用户作为数据库的默认用户,需要切换到su - postgres用户下进行数据库的操作,psql进行连接登录分区的数据表通过Navicat客户端导出*.sql文件,再导入会有错误,可以通过psql自己客户端进行数据库完整导出导入:

1、在服务器A上导出文件pg_dump -h 127.0.0.1 -p 5432 -U postgres -d 数据库名>c:\mydb.bak2、在B服务器上创建同名数据库postgres=# create database 数据库名 <owner username>; -- 创建数据库指定所属者,不指定默认当前的用户postgresCREATE DATABASEpostgres=#3、将文件拷到服务器B上面,执行如下命令psql -h 127.0.0.1 -p 5432 -U postgres -d 数据库名 –f /usr/data/mydb.bak(已登录:psql -d 数据库名 -U postgres -f dump.sql)

更改数据库密码

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

ALTER ROLE

postgres=#

控制台命令

\q:退出

\h:查看SQL命令的解释,比如\h select。

?:查看psql命令列表。

\l:列出所有数据库。

\c [database_name]:连接其他数据库。

\d:列出当前数据库的所有表格。

\d [table_name]:列出某一张表格的结构。

\du:列出所有用户。

\e:打开文本编辑器。

\conninfo:列出当前数据库和连接的信息。

数据库操作

–创建新表

CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);

–插入数据

INSERT INTO user_tbl(name, signup_date) VALUES(‘张三’, ‘-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;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。