十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你这个是用了图形软件导出的吧?
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站建设、射洪网络推广、微信小程序、射洪网络营销、射洪企业策划、射洪品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供射洪建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
你再用图形软件还原备份就好了。
比如我就是用navicat。
看到那个还原备份了吗?
MySQL数据库迁移到PostgreSQL
查了不少资料,也尝试了一些,最后采用的办法如下:
1. 导出mysql表定义(无数据)
mysqldump --no-data [dbname] dbdef.sql
2. 使用mysql2postgres把脚本转换为pgsql
3. 上面生成的脚本还不一定很完美,可以尝试导入pgsql,调试错误并手动修改之。我遇到的问题就只有一个,mysql列定义中的zerofill需要手工去掉。一些unsinged定义会生成constraint,如果不需要可以去掉。另外,trigger都有问题,只能后面手工重建
4. 导出mysql数据:
mysqldump -v -nt --complete-insert=TRUE --compact --no-create-info --skip-quote-names [dbname] dbdata.sql
老一些版本的pgsql如果不支持批量插入的话还需要加上--extended-insert=FALSE,这个性能损失巨大。
5. 转义符
mysql默认字符串里的'\'是转义符,而pgsql默认不是,修改postgresql.conf:
backslash_quote = on
escape_string_warning = off
standard_conforming_strings = off
数据导入完成后可以改回默认值。
5. pgsql里导入表定义和数据
psql -d [dbname] dbdef.sql
psql -d [dbname] dbdata.sql
6. 重建trigger
7. 自增主键(字段)的处理
由于导入数据时此字段都是有值的,所以pgsql里面seq并不会增加,可以用如下语句设置自增列的当前值:
SELECT setval('sample_id_seq',max(id)) from sample;
1、打开命令行,在命令行里输入mysql,然后按回车就可以打开mysql的命令了。要注意的是区分大小写,不能输入Mysql。
2、进入命令后,可以使用use命令来转到我们要查看的数据库。
3、切换了数据库后,我们就可以查看这个数据库的表数据了。通过select语句就可以查询表数据了,但要注意的是每条语句要以分号结束,否则就当语句还没结束。会等待输入。
4、以分号结束语句后,按回车键就能得到从MySQL数据库中导出整个数据库了。
1、 当使用 navicat 备份时,点击数据库然后在编辑区上方选择备份.psc文件(点击备份文件右键-backup Information 选项后找到常规面板,查看文件目录并可以取出),或者是右键选择转存SQL文件就可以保存为.sql文件了。
2、 当还原数据库时(数据库为打开状态,选择数据库选择备份-右键-恢复备份选择相应类型文件即可。