拷贝

MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist

♀尐吖头ヾ 提交于 2019-12-04 05:16:21
MySQL很强大,支持直接拷贝数据库文件快速备份,那数据库文件在哪里呢? 打开MySQL的配置文件 my.ini ,找到 datadir 节点,如 datadir="D:/Program Files/MySQL/MySQL Server 5.1/data" 进入上述文件夹,就可以看到MySQL中新建的数据库文件夹了,每个文件夹以数据库名命名的,你想备份哪个数据库,把这个文件夹拷贝走即可。到时还原数据库,把它拷贝到data目录下即可,就这么简单! 但是,今天在一台MySQL服务器上拷贝备份了一个数据库后,在另外一台服务器上还原后,重启MySQL服务,通过使用 navicate for mysql 工具查看数据库 “xxx database”中某张表,结果显示“ mysql table 'xxx table' doesn`t exist ”。 查看了下MySQL的 data 文件加下的文件,发现了 WIN-4FA0WLP5F0V.err 和 WIN-4FA0WLP5F0V.pid 两个文件,于是看了具体的错误内容如下: 120622 12:00:36 [Note] Plugin 'FEDERATED' is disabled. 120622 12:00:37 InnoDB: Initializing buffer pool, size = 300.0M 120622 12:00:37

数组的方法

可紊 提交于 2019-12-04 04:39:51
1.concat() 合并数组 0个或多个参数 返回值 返回新的数组。 (数组中的方法有浅拷贝也有深拷贝) 深拷贝方法 浅拷贝 :返回的新的数组,发生改变会影响原来数组的数组,这叫浅拷贝。 深拷贝 :返回的新的数组发生改变,原来的数组不会跟着改变,这叫深拷贝。 2.Constructor() 构造器 指向对象的父类 3.CopWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置 4.Entries() 返回数组的可迭代对象 5.Every() 检测数组中的元素是否都 满足某个条件,都满足返回 true ,只要有一个不满足返回 false 参数,第一个参数是回调函数,第二个是数值对象 ( 改变函数中的 this 指向 ) 返回值 true 和 false 6.Fill() 7.Filter() 对数组中的元素进行过滤,将符合条件的元素保留,并返回构成一个新的数组。 参数 第一个参数是回调函数,第二个是数值对象 ( 用来修改函数中的 this 指向 ) 返回值是过滤后的新数组 深拷贝 8.Find() 使用一个固定值来填充对象 9.FindIndex() 10.Flat() 11.FlatMap() 12.ForEach() 数组中的每个元素都执行一次回调函数,没有返回值,改变原数组。 参数第一个是回调函数 第二个是数值对象 ( 可省略 ) 没有返回值 浅拷贝 跟 for

ES6中数组和对象的扩展运算符拷贝问题以及常用的深浅拷贝方法

只谈情不闲聊 提交于 2019-12-04 04:31:44
  在ES6中新增了扩展运算符可以对数组和对象进行操作。有时候会遇到数组和对象的拷贝,可能会用到扩展运算符。那么这个扩展运算符到底是深拷贝还是浅拷贝呢? 一.、使用扩展运算符拷贝    首先是下面的代码。 let a = [1,2,3]; let b = [...a];a == b // false   结果是false,这是很容易知道的,毕竟这个赋值操作符是由区别的。接下来将数组的只进行改变,又会怎样呢; let a = [1,2,3]; let b = [...a]; a[0] = 11; console.log(a); // [ 11, 2, 3 ] console.log(b); // [ 1, 2, 3 ]   发现a的值发生改变之后b的值并没有发生改变。所以就是深拷贝了吗?别急,接下来将数组中的元素设为引用类型。 let a = [1,2,[1,2,3]]; let b = [...a]; a[2][1] = 11; console.log(a); // [ 1, 2, [ 1, 11, 3 ] ] console.log(b); // [ 1, 2, [ 1, 11, 3 ] ] console.log(a[2] === b[2]); // true   这次的结果就有意思了,如果改变数组中的引用类型的元素中的值,此时a和b的值都会改变,并且a和b中的引用类型全等

Java IO编程——文件拷贝

戏子无情 提交于 2019-12-04 01:40:01
在操作系统里面有一个copy命令,这个命令的主要功能是可以实现文件的拷贝处理,现在要求模拟这个命令,通过初始化参数输入拷贝的源文件路径与拷贝的目标路径实现文件的拷贝处理。 需求分析: ·需要实现文件的拷贝操作,那么这种拷贝就有可能拷贝各种类型的文件,所以肯定使用字节流; ·在进行拷贝的时候有可能需要考虑到大文件的拷贝问题; 实现方案: · 方案一 :使用InputStream将全部要拷贝的内容直接读取到程序里面,而后一次性的输出到目标文件;   |- 如果现在拷贝的文件很大,基本上程序就死了; · 方案二 :采用部分拷贝,读取一部分输出一部分数据,如果现在要采用第二种做法,核心的操作方法: |- InputStream:public int read​(byte[] b) throws IOException; |- OutputStream:public void write​(byte[] b,int off, int len) throws IOException; 范例:实现文件拷贝处理 1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.FileOutputStream; 4 import java.io.InputStream; 5 import java.io

运维同步工具:scp,nfs,sftp,http,samba(windows和linux之间),rsync,csync,drbd(基于文件系统)等

被刻印的时光 ゝ 提交于 2019-12-03 23:00:55
1. Rsync rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具。 功能一:   可使本地主机不同分区或目录之间及本地和远程两台主机之间的数据快速同步镜像,远程备份等功能。适合linux/windows等系统 功能二:   可以再本地主机的不同分区或目录之间进行全量或者增量的复制数据 注意: rsync的目的是实现本地主机和远程主机上之间的数据快速复制同步镜像,远程备份的能力(包括本地推到远程,远程拉到本地两种同步方式),也可以实现本地不同路径下文件的同步。但不能实现远程路径1到远程路径2之间的同步(scp可以实现)。 功能一:类似于scp命令,但是scp每次都是全量拷贝,而rsync可以进行增量拷贝,scp拷贝数据时加密的,但是rsync是不加密的。 功能二:有类似于cp命令,但是cp每次都是全量拷贝,而rsync可以进行增量拷贝 rsync还可以实现文件和目录的删除功能,这又是相当于RM命令,rsync相当于scp,cp,rm命令。并且还由于他们。 在同步备份时,默认情况下,rsync通过其独特的“quick check”算法,仅同步大小或者最后修改时间发生变化的文件或目录(也可根据权限,属主等变化同步,需要制定参数)。甚至是只同步一个文件里变化的内容部分,所以可以实现快速的同步数据的功能。 2.Rsync特性 1)支持拷贝特殊文件如链接

Python零散知识点

丶灬走出姿态 提交于 2019-12-03 22:44:28
零散知识点 一:代码块 是一种优化机制,了解直到就可以了,对于实际编码影响不大 如果在cmd终端里面,每一个>>>是一个代码块,这个比较特殊。代码放在pycharm中运行,又有自己的优化,-5-256的优化空间会变得更长,因此没有准确答案,知道有这个优化就可以了,具体是优化到哪个边界无序在意。 每个函数都是一个代码块 类也是一个代码块 代码块缓存机制 同一个代码块重复出现的对象在第一次出现的时候就会缓存下来,方便重复使用 不同代码块缓存有边界,例如-5-256之间的数字会共享内存,str也有缓存规则知道即可,具体是什么不用在意 指定驻留 intern()只能用于str的指定驻留,help(intern)查看 指定任意内容添加到数据池当中,让其在内存中只有一个对象,类似于单例。 from sys import intern a = 'hello!@' b = 'hello!@'#字符串不符合缓存机制,因此开2个对象空间 print("1",a is b)##False a = intern('hello!@'*20)#指定驻留之后 #b = 'hello!@'*20这样做拿到的不是小数据池里面的对象,因为上来解释器看不合符规则,直接就开新内存了 b = intern('hello!@'*20)#这样子做就是指定到小数据池里面看有没有,没有创建,有则直接用。 print("2",a

docker学习

拥有回忆 提交于 2019-12-03 21:31:48
环境:centos7 docker命令 -------------------------------------- docker启动停止相关命令 -------------------------------------- 设置远程镜像地址   vi /etc/docker/daemon.json 启动docker   systemctl start docker 查看docker启动状态   systemctl status docker 停止docker   systemctl stop docker 开机启动docker   systemctl enable docker 重启docker   systemctl restart docker 查看docker概要信息   docker info -------------------------------------- 镜像相关命令 查看镜像   docker images 搜索互联网镜像   docker search + 镜像名 拉取镜像(默认拉取最新镜像)   docker pull + 镜像名称 拉取指定tag镜像   docker pull + 镜像名称:tag 删除镜像   docker rmi + 镜像id 删除所有镜像   docker rmi `docker images -q`

移动端(pc)禁止长按拷贝

你说的曾经没有我的故事 提交于 2019-12-03 20:31:39
网页在手机上浏览时通常会碰到一个问题,就是不小心触摸时间过长就出现自带的拷贝等按键了,造成了不好的体验,下面就教你解决办法。 web端,只需在css中加入代码就可以了 * { -webkit -touch -callout : none ; /*系统默认菜单被禁用*/ -webkit -user -select : none ; /*webkit浏览器*/ -khtml -user -select : none ; /*早期浏览器*/ -moz -user -select : none ; /*火狐*/ -ms -user -select : none ; /*IE10*/ user -select : none ; } 以上代码也包括了禁止了input的输入,所以要单加一段代码开放input的权限~ input { -webkit-user-select : auto ; /*webkit浏览器*/ } 另附上一个app h5长安拷贝的解决方法(没有验证过,仅供参考) 屏蔽掉长按事件 因为webview长按时将会调用系统的复制控件: mWebView.setOnLongClickListener( new OnLongClickListener() { @Override public boolean onLongClick (View v) { return true ; }

java中深拷贝浅拷贝简析

不打扰是莪最后的温柔 提交于 2019-12-03 16:44:47
Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象。而clone在第一步是和new相似的, 都是分配内存,调用clone方法时,分配的内存和源对象(即调用clone方法的对象)相同,然后再使用原对象中对应的各个域,填充新对象的域, 填充完成之后,clone方法返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。 复制对象 or 复制引用 在Java中,以下类似的代码非常常见: Person p = new Person(23, "zhang"); Person p1 = p; System.out.println(p); System.out.println

Python核心技术与实战——十二|Python的比较与拷贝

假装没事ソ 提交于 2019-12-03 15:19:39
  我们在前面已经接触到了很多Python对象比较的例子,例如这样的 a = 123 b = 123 a == b 或者是将一个对象进行拷贝 l1 = [1,2,3,4,5] l2 = l1 l3 = list(l1) 那么现在试一下下面的代码:先创建个列表l1,再把这个列表进行一份拷贝至l2,最后把l1添加一个元素,看l2会发生什么变化? >>> l1 = [1,2,3,4,5] >>> l2 = l1 >>> l1.append(6) >>> l2 [1, 2, 3, 4, 5, 6] 是不是l2也变了!这里就引申出来一个概念:浅拷贝(shallow copy)和深拷贝(deep copy) 在对拷贝的概念进行分析前,我们先看一看下面的知识: ‘is’VS‘==’ is和==是我们在进行对象比较的时候常用的方法,简单的来说: == 操作是用来比较两个对象的值是否相等,比如下面的例子,就表示了变量a和b所指向的值是否相等 >>> a = 123 >>> b = 123 >>> a == b True 而is操作是用来判定对象的身份标识是否是相等的,也就是说判定两个对象是否指向同一内存地址。 在python中,每个对象都有一个ID,我们可以通过函数id()来获得 >>>a = 123 >>>id(a) 2011987232 因此,is操作就是判定两个对象的id是否相等