您的位置:首页 > 数据库

postgresql在Ubuntu【虚拟机】上新建数据库 外部可访问(亲测)

2016-05-15 14:05 363 查看
博主在实习的过程中 接触到了postgresql 赶脚本科时候学到的数据库知识 终于有了用武之地 哈哈

哈哈 遂想搭建一个虚拟机下的Ubuntu的postgresql平台。

需要的环境【博主自己的机子哈】:Ubuntu 15.04【虚拟机】,外部机器win7【64】

实现目标:a.可以在Ubuntu中使用 postgres角色创建数据库;b.使用pgadmin3【Ubuntu】可以登录已经创建的数据库;c.使用pgadmin3【win7】登录数据库。

       一.程序猿走起



           1.安装postgresql数据库 命令:sudo apt-get install postgresql pgadmin3

           2.需要的软件已经装好 接下来 就需要使用postgresql了,postgresql安装成功后 会自动创建一个账户:postgres,但是此账户不可以用来登陆 Ubuntu,而是用来使用数据库的账户,而且此时的密码也不确定。使用 postgres账户【代码:sudo su postgres】,如下图,



            此时可以对数据库进行操作了,首先 要设定数据库超级用户postgres的密码,使用 psql postgres登陆控制台,设定密码的命令:ALTER USER postgres with PASSWORD 'postgres';大小写不要变  命令后边的分号也不要丢哈。执行之后 出现ALTER ROLE就OK!了





           3.目标a.可以在Ubuntu中使用 postgres角色创建数据库 的实现:实现命令: createdb -O postgres mydb1 创建的数据库名字为mydb1,属于postgres这个角色,登陆控制台查看 是否创建成功



代码:psql -U postgres -d mydb1 -h 127.0.0.1 -p 5432   解释-U 是登陆角色 -d 登陆具体哪个数据库 -h登陆的主机 -p 登陆的端口,下图 登陆成功了





          4.目标b.使用pgadmin3【Ubuntu】可以登录已经创建的数据库,pgadmin3是一个图形化的管理工具 说实话 相比较 命令行

 我更喜欢它

。上一步骤中
已经得到登陆信息了 ,角色postgres,密码postgres,端口5432(默认),由于是虚拟机内部登陆虚拟机内的数据库 ,故主机是localhost或者127.0.0.1,名称是你使用pgadmin3显示的名字,可占星~~ 取名,如下图



登陆之后 就可以看到之前 使用postgres角色创建的数据库的mydb1,如图,OK!We made it !



5.目标c.使用pgadmin3【win7】登录数据库。

        先使用之前的用户名postgres 密码等登陆,Ubuntu执行命令ifconfig,可以获得虚拟机的IP



链接的结果 让人心碎 而且心碎了一天加半天。。

要实现之前的目标  需要修改/etc/postgresql/9.4/main下的两个文件,客户端认证的配置文件:pg_hba.conf,需要添加一行



该代码解释: TYPE  DATABASE        USER            ADDRESS                 METHOD ,只需要解释一下 0.0.0.0/0是地址为0.0.0.0,但是/0规定 不用符合任何地址,即所有地址都可以,for example 192.168.1.139/16 的意思就是host的地址必须是前十六位是192.168。md5加密方式访问。

做完这一步 还需要去postgresql.conf把监听的端口开放,

改成下图



保存修改  者重启postgresql服务,使用重启命令 而不是重载命令; 重启命令:sudo /etc/init.d/postgresql restart 而不要使用 sudo /etc/init.d/postgresql reload,博主亲测 ,第一次反正重载不好使

,重启之后 登陆 就OK了

正文结束 !!!!!!!!!

题外话:博主 第一次写技术博客 希望 能和各位好好交流一下哈 不枉折腾了一下午】欣喜【。。。。

                                              爱生活 世事无常人生不是梦 地老天荒有你才从容  !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: