最近,公司要求某网站改版,需要把网站程序和数据库下载下来给程序员。程序文件很简单,打个压缩包直接下载即可。当我查看配置文件查看数据库时,傻眼了,数据库类型为
postgresql
,以前听都没听过的数据类型,更别说操作了。没办法,只能硬着头皮往下走了。百度一番,查看如何将
postgreSQL
导出来吧。
导出数据库结构及
#su – postgres
# pg_dump -U postgres etbtz -f /var/lib/pgsql/etbtz.sql
以为导出数据就万事大吉了,过了几天,程序员又来了,说是要部署到开发本地。让我帮忙转换成数据库类型为
mysql
。
使用连接数据库的工具
Navicat Premium
远程连接服务器,各项配置添加完之后发现服务器拒绝连接。肯定需要在
postgresQL
服务器上设置允许远程连接。
如何配置来完成
PostgreSQL
数据库远程连接
安装
PostgreSQL
数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问
PostgreSQL
数据库服务器,就需要进行相
应的配置。配置远程连接
PostgreSQL
数据库的步骤很简单,只需要修改
data
目录下的
pg_hba.conf
和
postgresql.conf,
其中
pg_hba.conf
是用来配置对数据库的访问权限,
postgresql.conf
文件用来配置
PostgreSQL
数据库服务器的相应的参数。
下面介绍配置的步骤:
1.
修改
pg_hba.conf
文件,配置用户的访问权限:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 trust
其中红色标识的内容为新添加的内容,表示允许网段
192.168.1.0
上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验
证。在我们的环境中,我们需要在主机
192.168.1.5
上使用
postgres
用户访问
192.168.1.9
上的
PostgreSQL
数据库。
2.
修改
postgresql.conf
文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。
定位到
#listen_addresses='localhost'
。
PostgreSQL
安装完成后,默认是只接受来在本机
localhost
的连接请
求,通过将改行内容修改为
listen_addresses='*'
来允许数据库服务器监听来自任何主机的连接请求:
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
修改之后,保存并退出,然后重起数据库,就可以在在远程机器上访问
PostgreSQL
数据库了。
重启数据库:
service postgresql restart
再次尝试本地连接,这时候发现已经可以连接了。
postgresql
转mysql工具
在网上搜集了一些关于postgresql 转mysql的文章,大多都是说先从postgresql 中导出sql 脚本,然后把sql 脚本中的一些写法手动改成mysql 格式的,心想着如果是一个大数据公司,要将数据转储为mysql ,也同样手动改?
www.2cto.com
于是找到了一个各数据库之间的转换工具 DBConvert for MySQL & PostgreSQL,可实现数据库之间的转换,非常方便,当然大家都知道方便的软件肯定不费免费给你,安装这个软件后,点试用,可以让你有一段时间的使用时间,进去即可对数据库时间进行转换了。
步骤一:点试用
步骤二:选择数据源并连接相应数据源的数据库,我这里是postgresql,选择相应要转换的database,测试连接成功后点下一步
步骤三:下一步则是填写目标数据库的连接和目标database,我的目标数据库是mysql
步骤四:点下一步即可看到相应的表和表结构,点下一步执行即可。
只要该填的地方没填错, 整个转换过程非常流畅,在这里不得不佩服国外友人的技术之强大啊。
附
下载
地址:
http://dbconvert.com/convert-
mysql
-to-postgresql-pro.php?DB=3