Linux下创建Postgresql数据库的方法步骤

前言

PostgreSQL (也叫 Postgres)是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。因为之前用默认的配置创建pgsql数据库,导致root的占用率达到97%:

所以决定重新创建一次数据库,很多坑又忘了。为了避免以后再忘记,所以决定记录下面,分享出来供大家参考学习,下面来一起看看详细的介绍吧。

创建步骤如下:

创建一个放Data的文件夹,/majestic12/pgsql/data

PGDATA = /majestic12/pgsql/data
set | grep PGDATA

初始化db:

initdb -D /majestic12/pgsql/data

启动数据库(在后台运行)

postgres -D /majestic12/pgsql/data >logfile 2>&1 &

创建数据库用户(创建一个tdsadmin的超级用户,立即给它赋予密码)

createuser -P -s -e tdsadmin

创建数据库(创建一个属于tdsadmin的叫TDS的数据库)

createdb -O tdsadmin TDS

这时候就创建完成了,但是从外部来连接数据库访问时可能会遇到一些异常。

比如说不允许TCP/IP连接等,以及如下图:

这个时候需要执行对2个文件配置进行修改

对于postgresql.conf

#listen_address='127.0.0.1' =>
listen_address = '*'

对于pg_hba.conf

#TYPE DATEBASE USER CIDR-ADDRESS METHOD
host all  all 0.0.0.0/0 MD5

修改完重启service

其他可能需要的资料:

  • netstat -tuln 查看现在的网络端口监听
  • ps -ef | grep postgres 查看是否存在PG进程
  • cat postgresql.conf|grep listen 查看监听地址是否正确
  • psql postgres 进入postgres命令环境
  • ls -ltr 看各个子文件或目录的权限
  • chkconfig postgresql-9.x on 设置开机启动
  • chown -R postgres:postgres data data文件夹用户所属组给postgres
  • chmod -R 0700 data 把data目前的所有文件及子目录文件权限改成: rwx (0700)
  • 0.0.0.0/0 最后一位为子网掩码,255.255.255.255 => 0,8,16,24,32.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

时间: 2017-07-12

linux实现mysql数据库每天自动备份定时备份

 概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好数据库的备份是至关重要的! 备份是什么? 为什么要备份 容灾方案建设 存储介质 光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN:存储区域网络 云存储 这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样. 1.

Linux下g++编译与使用静态库和动态库的方法

在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库(*.a)与动态库(*.so)的生成与使用方式是不同的.刚开始可能会不适应,但是用多了应该会习惯这种使用,因为步骤上并没有VS下配置那么繁琐. 下面就分别总结下linux下生成并使用静态库与动态库的方法:(由于是C++项目,所以编译器用的g++,但是与gcc的使用是相通的) 首先是准备工作,把我们需

linux修改mysql数据库文件的路径

mysql更改数据文件的存放路径感觉直接把/etc/my.cnf中的datadir改一下重启一下服务就行,但是从网上搜了n多资料,大部分都是更改my.cnf中的datadir及sock及启动脚本/etc/rc.d/init/mysqld中的datadir,按照网上提供的方案好像都不行,有没有大侠给个肯定的说法 其实只是要做两件事情:一个是mv一下socket和data的目录.也就是将其从原来的目录移动到指定的位置:第二,就是修改配置文件,假如直接是用mysql/bin下面的命令启动的话,直接改m

Linux系统下实现远程连接MySQL数据库的方法教程

前言 最近在工作中遇到了这个需求,估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统.下面来看看详细的介绍: 步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; 第一个*是数据库,可以改成允许访问的数据库名称 第二个 是数据库的表名称,代表允许访问任意的表 r

浅谈Linux的库文件

最近在Linux下使用第三方库Protobuf时,遇到一个问题:可执行程序在运行时报错:"error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory".于是花时间弄清楚原因,找到解决方案,跟大家共享一下. 1. 什么是库 在windows平台和linux平台下都存在着大量的库. 本质上来说库是一种可执行代码的二进制形式,

Linux下实现C++操作Mysql数据库

想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法.也没有什么教程,就是在网上搜的知识,下面汇总一下. 连接MySQL数据库有两种方法:第一种是使用ADO连接,不过这种只适合Windows平台:第二种是使用MySQL自己的C API函数连接数据库.我是在Linux平台下开发,所以就采用第二种方法,有很多Api函数,但是常用的就几个,我也是就用到其中的几个. API函数 1.mysql_real_connect() 连接一个mysql服务器 MYSQL *mysq