精华内容
下载资源
问答
  • sql server完整复制数据库

    万次阅读 多人点赞 2018-06-05 15:05:43
    当需要完整的复制一个数据库时,不清楚原理的时候往往会出现各种问题。下面讲解一种简单易操作的数据库复制方法。步骤一:在Microsoft sql server Management studio中,将源数据库进行备份,生成一个备份文件dbname...

    当需要完整的复制一个数据库时,不清楚原理的时候往往会出现各种问题。下面讲解一种简单易操作的数据库复制方法。

    步骤一:在Microsoft sql server Management studio中,将源数据库进行备份,生成一个备份文件dbname.bak;记住备份文件存放的地址,或者复制下来,以防一会找不到;

    步骤二:在Microsoft sql server Management studio中,新建一个数据库dbname2(与源数据库名称不一样);新建数据库的时候记住或者重新指定数据库文件存放的路径,我这里指定到自定义目录;创建后在E:\data下生成2个文件;

        

            

    展开全文
  • 主要为大家详细介绍了C#复制数据库,将数据库数据转到另一个数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Oracle11g复制数据库

    2018-10-10 11:40:36
    oracle11g数据库,如何复制数据库。详细解说。RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库。分别进行测试
  • sql server复制数据库

    千次阅读 2019-03-01 17:05:15
    复制数据库前要先确认目标数据库的服务是否启动 主要是SQL Server (MSSQLSERVER)这个服务要启动起来其他的看自己的需求 复制数据库 下一步 输入源数据库的地址使用sql server身份验证 输入目标的数据库...

    复制数据库前要先确认目标数据库的服务是否启动

    主要是SQL Server (MSSQLSERVER)这个服务要启动起来其他的看自己的需求
    在这里插入图片描述

    复制数据库

    在这里插入图片描述

    下一步

    在这里插入图片描述

    输入源数据库的地址使用sql server身份验证

    在这里插入图片描述

    输入目标的数据库地址 同样使用sql server认证登录

    在这里插入图片描述

    使用sql管理对象方法

    在这里插入图片描述

    选择要复制的数据库

    在这里插入图片描述

    这两个看自己的需求选择,然后点击下一步

    在这里插入图片描述

    直接下一步

    在这里插入图片描述

    直接下一步

    在这里插入图片描述

    这个看自己的需求定时间

    在这里插入图片描述

    点击完成即可

    在这里插入图片描述

    有空的动动小手支持一下作者!,给作者点赞加收藏,如果有问题请在底下留言!

    群名称:Java技术交流2群, QQ群号:717649447

    展开全文
  • postgres复制数据库

    千次阅读 2020-04-01 09:53:21
    复制数据库 新建abc数据库 [postgres@localhost ~]$ psql -c"create database abc" ----创建一个空库 CREATE DATABASE [postgres@localhost ~]$ pg_dump portal |psql abc ----以流的方式,将portal数据库中的...

    介绍

    pg_dump备份

    只能备份单个数据库,不会导出角色和表空间相关的信息

    • -F c 备份为二进制格式,压缩存储.并且可被pg_restore用于精细还原
    • -F p 备份为文本,大库不推荐
      更多介绍 :https://blog.csdn.net/pg_hgdb/article/details/79168060?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.nonecase

    复制数据库

    新建abc数据库

    [postgres@localhost ~]$ psql -c"create database abc"    ----创建一个空库
    
    CREATE DATABASE
    

    在这里插入图片描述

    [postgres@localhost ~]$ pg_dump portal |psql abc     
    
                     ----以流的方式,将portal数据库中的数据复制到abc库中
    

    在这里插入图片描述
    查看拷贝的abc数据库的大小。

    postgres=# select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;
      datname  |  size   
    -----------+---------
     postgres  | 7363096
     wang      | 7248408
     template1 | 7135748
     template0 | 7135748
     abc       | 7248408
    (5 rows)
    

    在这里插入图片描述
    SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname=‘ga_zj_taizhou’ AND pid<>pg_backend_pid();

    将PostgreSQL数据库复制到另一台服务器

    #将需要复制的数据库,打包成sql格式。
    pg_dump the_db_name > the_backup.sql
    
    #然后将备份复制到开发服务器,使用以下命令恢复:
    psql the_new_dev_db < the_backup.sql
    (需要先创建the_new_dev_db数据库 create database the_new_dev_db)
    

    或者导入数据库数据

    \i  /home/postgres/.sql
    

    在这里插入图片描述
    创建用户以及授权

    alter database ga_zj_taizhou owner to gazjtaizhou;
    
    grant all privileges on database xc_hb_qinhuang to xchbqinhuan
    g;
    

    授权

    将数据库的权限,授权给特定的用户。

    #创建授权的用户
    postgres=# create user test01_user with password 'Test01@123';
    
    postgres=# create database test01 owner test01_user;
    
    #授权数据库
    postgres=#grant all privileges on database test01 to test01_user;
    postgres=#grant select,insert,update on database test01 to test01_user;
    
    #授权表
    /* 赋给用户表的所有权限 */
    GRANT ALL ON tablename TO user; 
    /* 撤销用户权限 */
    REVOKE privileges ON tablename FROM user;
    
    或者
    给用户 "runoob" 分配权限:
    # GRANT ALL ON COMPANY TO runoob;
    GRANT
    信息 GRANT 表示所有权限已经分配给了 "runoob"。
    
    runoobdb=# REVOKE ALL ON COMPANY FROM runoob;
    REVOKE
    信息 REVOKE 表示已经将用户的权限撤销。
    
    删除用户:
    runoobdb=# DROP USER runoob;
    DROP ROLE
    信息 DROP ROLE 表示用户 "runoob" 已经从数据库中删除。
    

    在这里插入图片描述
    在这里插入图片描述

    授权

    postgres@shhkfys$for i in `cat c `;do psql  ga_zj_taizhou -c "grant all on $i    to gazjtaizhou;" ;done
    
    postgres@shhkfys:~$psql  ga_zj_taizhou            #进入ga_zj_taizhou数据库,查看数据库的所属者是不是gazjtaizhou,以及所有授权
    
    postgres@shhkfys:~$ for i in `cat c `;do psql  ga_zj_taizhou -c "alter table $i owner to gazjtaizhou;" ;done                  #更改ga_zj_taizhou数据库里面的表的所有者为gazjtaizhou
    postgres@shhkfys:~$psql  ga_zj_taizhou                   #查看ga_zj_taizhou数据库表的所属主。
    

    在这里插入图片描述

    测试连接

     # psql -h 192.168.1.106 -p 5432 -U test01_user  
    
    # psql -h 192.168.1.106 -p 5432 -U test01_user -d test01
    

    在这里插入图片描述

    # psql -h 192.168.1.106 -p 5432 -U test02_user -d test02
    

    在这里插入图片描述

    # psql -h 192.168.1.106 -p 5432 -U postgres -d  test01
    
    # psql -h 192.168.1.106 -p 5432 -U postgres -d    test02
    

    在这里插入图片描述
    可以看出,postgres用某个用户登录,默认登录同名数据库,如果用户名和数据库不同,需要特别指定,否则会报找不到库!

    备份所有的数据库

    PostgreSQL备份
    如果原系统中有PostgreSQL数据库,需要备份数据库。

    chroot /mnt
    su - postgres
    pg_dumpall >database-20180201.sql
    
    postgres@shhkfys:~$sudo pg_dump xc_gj_rainbow > ga-zj-taizhou.2020330.sql    #将ga-zj-taizhou.2020330.sql导入到xc_gj_rainbow数据库中
    

    扩展

    MySQL创建用户并授权db权限

    mysql> create database mydb;
    mysql> create user a_user identified by 'ThePassword'
        -> ;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> grant all privileges on mydb.* to a_user@'%';
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    

    Postgres创建用户并授权db权限
    对于Postgres9.0以上

    创建一个用户etl_user,允许登陆,永不过期

    create role etl_user login password 'ThePassowrd' valid until 'infinity';
    

    将db权限授予user

    grant all privileges on database mydb to etl_user ;
    

    或者,分别授权

    GRANT CONNECT ON DATABASE mydb TO etl_user;
    GRANT USAGE ON SCHEMA public TO etl_user;
    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO etl_user;
    GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO etl_user;
    

    这时候,如果你要删除这个role,则必须先要删除关联的privileges

    REVOKE CONNECT ON DATABASE mydb FROM etl_user;
    REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM etl_user;
    REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM etl_user;
    REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM etl_user;
    DROP USER etl_user;
    

    逻辑备份恢复主要以下三种:

    pg_dump
    
    pg_dumpall
    
    copy
    

    https://blog.csdn.net/pg_hgdb/article/details/79168060?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.nonecase

    常见报错

    1、新建数据库失败。

    在这里插入图片描述
    解决办法 :
    数据库里面不识别-符号
    下面是正确写法

    #pg_dump xc_gj_rainbow |psql ga_zj_taizhou
    

    2、授权之后,链接数据库失败

    执行命令

    postgres=# grant all privileges on database ga_zj_taizhou to gazjtaizhou;
    

    报错信息 : ERROR : permission denied for relation permission
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    解决办法 :
    进入需要授权的数据库里面

    postgres=# \c ga_zj_taizhou      #进入数据库里面
    You are now connected to database "ga_zj_taizhou" as user "postgres".
    
    #更改该数据库的属主
    ga_zj_taizhou=# alter database ga_zj_taizhou owner to gazjtaizhou;    
    ALTER DATABASE
    
    #将该数据库里面的所有表都授权给该用户
    ga_zj_taizhou=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO gazjtaizhou;                 
    GRANT
    
    #在该数据库里面,再次将该数据库的权限授权给该用户
    ga_zj_taizhou=# grant all privileges on database ga_zj_taizhou to gazjtaizhou;        
    GRANT
    ga_zj_taizhou=# flush;      #刷新
    

    3、序列没有授权

    报错信息 :
    在这里插入图片描述
    解决办法:
    对序列单独授权
    对postgres数据库里面的序列全部授权

    
    

    4、删除数据库报错

    报错信息 :

    postgres=# drop database ga_zj_taizhou;
    ERROR:  database "ga_zj_taizhou" is being accessed by other users
    DETAIL:  There is 1 other session using the database.
    

    在这里插入图片描述
    这个意思是说,删除数据库失败,因为这里还有3个链接连接到该数据库上,PostgreSQL在有进程连接到数据库时,对应的数据库是不运行被删除的。

    那么怎么办呢?
    解决方式:断开连接到这个数据库上的所有链接,再删除数据库。怎么断开呢?在PostgreSQL 9.2 及以上版本,执行下
    面的语句:
    解决办法 :

    SELECT pg_terminate_backend(pg_stat_activity.pid)
    FROM pg_stat_activity
    WHERE datname='testdb' AND pid<>pg_backend_pid();
    

    执行上面的语句之后,在执行DROP操作,就可以删除数据库了。

    上面语句说明:
    pg_terminate_backend:用来终止与数据库的连接的进程id的函数。
    pg_stat_activity:是一个系统表,用于存储服务进程的属性和状态。
    pg_backend_pid():是一个系统函数,获取附加到当前会话的服务器进程的ID

    SELECT pg_terminate_backend(pg_stat_activity.pid)
    FROM pg_stat_activity
    WHERE datname='ga_zj_taizhou' AND pid<>pg_backend_pid();
    

    在这里插入图片描述
    删除成功
    在这里插入图片描述

    5、导入数据库数据失败

    数据库存在,报错数据库不存在。

    postgres@shhkfys:~$ pg_dump xc-gj-wxb > xc-gj-wxb.sql
    pg_dump: [archiver (db)] connection to database "xc-gj-wxb" failed: FATAL:  database "xc-gj-wxb" does not exist
    postgres@shhkfys:~$ psql -h localhost -p 3500 -U xcgjwxb
    Password for user xcgjwxb: 
    psql.bin: FATAL:  database "xcgjwxb" does not exist
    

    在这里插入图片描述
    psql进入数据库,使用\l+命令查看数据库,发现数据库存在,
    在这里插入图片描述
    在这里插入图片描述
    复制数据库,报错数据库不存在。

    postgres@shhkfys:/root$ pg_dump xc-gj-wxb |psql xc-hb-qinhuang  
    could not change directory to "/root": Permission denied
    pg_dump: [archiver (db)] connection to database "xc-gj-wxb" failed: FATAL:  database "xc-gj-wxb" does not exist
    could not change directory to "/root": Permission denied
    psql.bin: FATAL:  database "xc-hb-qinhuang" does not exist
    
    postgres@shhkfys:~$ pg_dump xc-gj-wxb |psql xc-hb-qinhuang  
    pg_dump: [archiver (db)] connection to database "xc-gj-wxb" failed: FATAL:  database "xc-gj-wxb" does not exist
    psql.bin: FATAL:  database "xc-hb-qinhuang" does not exist
    

    在这里插入图片描述
    查看发现是数据库存在的
    在这里插入图片描述
    解决办法:

    显式添加“ -h localhost”,这将修复它
    

    psql: FATAL: role “postgres” does not exist 解决方案

    在postgres的虚拟机里(而不是terminal)

    CREATE USER postgres SUPERUSER;
    

    参考链接 :
    PostgreSQL之pgdump备份恢复 :https://blog.csdn.net/pg_hgdb/article/details/79168060?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.nonecase

    【PostgreSQL】PostgreSQL创建数据库、用户、授权
    https://www.jianshu.com/p/70bfffd6fa2c

    postgresql数据库删除时提示回话 sessions using the database
    https://blog.csdn.net/u010321349/article/details/88713058

    postges 和MySQL创建用户并授权db权限 : https://www.cnblogs.com/woshimrf/p/postgres-grant-user-to-db.html

    postgres复制数据库 : https://blog.csdn.net/a3470194/article/details/16861651

    https://www.cnblogs.com/yungiu/p/10983792.html

    pg_dump备份失败,错误信息提示pg_dump: [archiver (db)] query failed: ERROR: schema “pgs_distribution_metadata” does not exist : https://developer.aliyun.com/ask/67512?spm=a2c6h.13159736
    扩展
    PostgreSQL 设置允许访问IP

    https://blog.csdn.net/wlchn/article/details/78915813

    postgresql数据库用户名密码验证失败

    https://blog.csdn.net/pg_hgdb/article/details/78805463

    PostgreSQL的访问控制(pg_hba.conf)

    https://my.oschina.net/liuyuanyuangogo/blog/497239

    Postgresql 远程连接配置

    https://www.cnblogs.com/3Tai/p/4935303.html

    PostgreSQL远程连接配置管理/账号密码分配

    https://yq.aliyun.com/articles/599287

    Postgres password authentication fails

    https://stackoverflow.com/questions/14564644/postgres-password-authentication-fails?rq=1

    https://stackoverflow.com/questions/18664074/getting-error-peer-authentication-failed-for-user-postgres-when-trying-to-ge/26735105#26735105

    展开全文
  • mysql命令行复制数据库

    千次阅读 2019-08-30 20:28:28
    为了方便快速复制一个数据库,可以用以下命令 将db1数据库的数据以及表结构复制到newdb数据库 创建新的数据库 ...复制数据库,使用mysqldump及mysql的命令组合,一次性完成复制 #mysqldump -u root ...

    为了方便快速复制一个数据库,可以用以下命令
    将db1数据库的数据以及表结构复制到newdb数据库
    创建新的数据库
    #mysql -u root -p123456

    mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8;

    复制数据库,使用mysqldump及mysql的命令组合,一次性完成复制
    #mysqldump -u root -p123456 --add-drop-table db1| mysql -u root -p123456 newdb
    注意-p123456参数的写法:-p后面直接跟密码,中间没有空格)
    以上是在同一台MySQL服务器上复制数据库的方法。如果要复制到远程另一台MySQL服务器上,可以使用mysql的“ -h 主机名/ip”参数。前提是mysql允许远程连接,且远程复制的传输效率和时间可以接受。
    不在同一个mysql服务器上
    #mysqldump db1 -uroot -p123456 --add-drop-table | mysql -h 192.168.1.22 newdb -u root -p123456

    复制一个数据库中的几张表到另一个数据库
    mysqldump -uroot -proot --add-drop-table db1 table1 table2 | mysql -uroot -proot tpcms

    复制到不同主机
    mysqldump -uroot -proot --add-drop-table db1 table1 table2 | mysql -h 192.168.0.148 -uroot -proot db2

    展开全文
  • 使用工具 navicat for mysql,查看、修改等操作均很方便。 ... 1、数据库A文件全部复制到另一个...将待复制数据库导出。文件格式为.sql 点选数据库A,右击 --&gt; 转储SQL文件 --&gt;结构和数据 导入数...
  • mysql 快速复制数据库

    万次阅读 热门讨论 2016-07-18 15:43:27
    mysql 快速复制数据库
  • 主要为大家详细介绍了如何利用SQL Server Management Studio复制数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 1、建立复制数据库: 分为用户管理的方式建立复制数据库和rman建立复制数据库。 对于用户管理的复制数据库来说,还可以分为本机建立复制数据库和不在本机建立复制数据库,但是这两个方式区别不大,建立 数据库的...
  • 2.设置复制数据库文件的访问权限 3.创建新的数据库 4.选中新建的数据库 任务-&gt; 还原 -&gt; 数据库 5.目标数据选择新建数据库 源设备指定 备份数据库.bak 文件夹位置 6.选项页切换到选项 勾选覆盖现有...
  • Oracle DB 复制数据库

    万次阅读 2013-10-30 10:55:43
    • 选择用于复制数据库的方法 • 使用RMAN 复制数据库 • 使用RMAN 备份复制数据库 • 基于正在运行的实例复制数据库 使用副本数据库 • 使用副本数据库可执行以下任务: – 测试备份和恢复过程 – 通过创建...
  • navicat——复制数据库

    千次阅读 热门讨论 2018-02-26 21:00:47
    最近因为做一个小测试,如果直接在项目的数据库上进行修改不太好,所以为了保险我就把项目的数据库复制到了本地,下面就来介绍一下利用navicat复制数据库表的两种方法。详情请见下文! 【正文】 一、第一种方法...
  • 1.修改数据表 修改数据表很简单,各版本数据库通用。 create table test(name varchar(10));...2.修改数据库名(复制数据库) 在mysql8.0及后续版本中,原来的命令: rename database data1 to d...
  • mongodb——复制数据库和表

    千次阅读 2017-12-26 11:05:47
    从远程主机复制数据到本地,或者从本地复制数据库到远程主机。 参数 (1)、fromdb:string 源数据库名称 (2)、todb:string 目标数据库名称 (3)、fromhost:string 可选项,源数据库的主机名。若是同一主机...
  • MySQL快速复制数据库的方法

    万次阅读 2015-09-26 09:32:56
    MySQL快速复制数据库的方法 某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。 假设已经存在的数据库名字叫db1,想要复制...
  • MongoDB 复制数据库 Clone Database

    千次阅读 2017-03-18 14:27:18
    复制数据库Clone Database MongoDB有一个命令可以在不同的服务器之间拷贝数据库。 // 从一个服务器复制一个完整的数据库到以一个服务器。忽略 //是在同一服务器之间进行数据库复制 // 这个...
  • 八、复制数据库 一、使用函数查看: 二、查看该服务器下所有数据库的状态: 三、修改数据库名称 方法一:鼠标右击点击重名,但是这种法的修改,并改不了其他文件的名称 方法二:鼠标右击属性进行修改,这样...
  • 本次MySQL跨服务器复制数据库,借助Navicat的“转储SQL文件”和“运行SQL文件”功能来实现。 1.使用Navicat连接到需要数据迁移的数据库服务器,在数据库上右键,点击“转储SQL文件”,选择“结构和数...
  • Navicat中如何复制数据库

    千次阅读 2018-12-17 15:25:42
    1. 选中需要被复制数据库,右键备份菜单,选择新建备份,输入名字保存确定。 2. 新建一个数据库,选中后,右键备份菜单,选择还原备份,弹出窗口后选择上一步的备份文件,然后开始导入即可。 数据库复制完成...
  • mysql复制数据库与重命名数据库

    千次阅读 2018-11-18 22:36:06
    业务有要求,希望将现有的mysql数据库bdi_gj,复制一个新的数据库为bdi_gj_40。 我的操作为: (1)首先创建一个新库bdi_gj_40 create database bdi_gj_40; (2)然后使用mysqldump进行导出导入,实现复制效果 ...
  • mysql复制表以及复制数据库

    万次阅读 2017-08-09 11:46:40
    该语句只是复制表结构以及数据,它不会复制与表关联的其他数据库对象,如索引,主键约束,外键约束,触发器等。 CREATE TABLE if not exists new_table SELECT col1, col2, col3 FROM existing_table WHERE ...
  • MySQL快速复制数据库数据表的方法

    千次阅读 2016-12-29 14:49:13
    MySQL快速复制数据库数据表的方法 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-10-10 我要评论 有些时候,我们为了快速搭建一个测试环境,或者说是克隆一个网站,需要复制已经存在的mysql数据库。...
  • 复制数据库表的结构和数据: CREATE TABLE new_table AS SELECT * FROM old_table 这个语句会把old_table的结构和数据一起复制过来,但是会丢失主键,自增等信息。 CREATE TABLE new_table AS SELECT * FROM old_...
  • 通过手工拷贝文件复制数据库

    千次阅读 2013-11-05 10:53:10
    复制数据库有很多种方法,这里实验用手工复制文件的方法。 由于很多人只有一台机器,所以我的实验步骤如下: 1.在一台WINDOWS机器上先装好数据库软件,在用DBCA创建数据库,记下多出的文件。 2.关闭数据库,拷贝...
  • SQLServer使用sql语句复制数据库

    千次阅读 2015-12-29 18:00:40
    1.1复制数据库结构和数据 BACKUP DATABASE Test TO DISK = 'c:\test.bak' --备份(注:Test是需要备份的数据库的名称;路径可以随意选择;test.bak是备份的文件的名称) RESTORE DATABASE TestBak FROM DISK = 'c...
  • MySQL主从复制数据库升级完成后检查项

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 736,502
精华内容 294,600
关键字:

复制数据库