mysql 查询表死锁 和结束死锁的表步骤

http://blog.sina.com.cn/s/blog_66519bd80102v3ct.html 1、查询是否锁表 show OPEN TABLES where In_use > 0;   2、查询进程 show processlist 查询到相对应的进程===然后 kill    id   补充: 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;   查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;   from:http://blog.csdn.net/chruan/article/details/51955775

龙生   10 Jan 2018
View Details

JS倒计时两种种实现方式

最近做浏览器界面倒计时,用js就实现,两种方式: 一:设置时长,进行倒计时。比如考试时间等等 代码如下:

运行结果: 二:设置时间戳,进行倒计时。比如距离活动结束时间等等 代码如下:

运行结果: from:https://www.cnblogs.com/heizai002/p/6862418.html

龙生   08 Jan 2018
View Details

集合已修改;可能无法执行枚举操作

摘要 我相信很多人对这个再熟悉不过了。对已经修改的集合进行操作就会出现这个错。 解决办法 比如有下面的一段代码,我们创建一个集合,并向集合中添加10个数,然后,我们循环再将这些数移除了。

出现了….. 是不是被泛型集合提供的方法坑了?我记得很久之前我也被坑过。很疑惑吧,其实也很简单,因为你如果移除了一项,集合的元素个数是变化的。这个时候元素会重排,第二个元素的索引由1变为0,后面的依次往前移动。

上面的代码为集合添加10个元素。然后输出当前集合的count,接着将索引为0的元素移除。这个时候集合中应该没有元素0了。然后输出集合的元素个数。输出此时的集合中索引和对应的值。如图所示 可以看到,本来索引为1的1,往前移动了,此时他的索引变为了0.所以在使用foreach移除的时候,集合是变化的,是不允许的。难道就没办法操作了吗?当然有,它不是移除一个集合就少一个吗》 此时,我们可以通过for循环,从集合的队尾移除,这个时候移除队尾的元素,虽然集合的count变了,但他们的索引没有变化。

那么我们只移除满足条件的是否也可以通过for循环呢?当然可以,foreach你不是不让吗?又不是只有你一个可以循环。

总结 前不久刚有人遇到,这里还是记录一下吧。 from:https://www.cnblogs.com/wolf-sun/p/5721457.html

龙生   08 Jan 2018
View Details

win10总是很快自动休眠怎么解决?

先修改注册表: win键+r ,输入regedit; 定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 修改attributes的值为2   然后再修改【无人参与系统睡眠超时】: 右下角点击图标 【所有设置】 【电源和睡眠】 【相关设置】下的【其他电源设置】 【更改计算机睡眠时间】 【更改高级电源设置】 展开【睡眠】 【无人参与系统睡眠超时】里把【使用电池】和【接通电源】改为你想要的分钟数 最后【确定】   以上内容整理自:https://www.zhihu.com/question/39263412 博主亲测有用,也是补困扰了好久。

龙生   05 Jan 2018
View Details

Linux下的tar压缩解压缩命令详解

tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 # tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 # tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 # tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 # tar -xf all.tar 这条命令是解出all.tar包中所有文件,-t是解开的意思 压缩 tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux 解压 tar -xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz […]

龙生   04 Jan 2018
View Details

Linux 中如何卸载已安装的软件

Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。 软件的安装 Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。 对于第一种,安装方法如下: 1 .首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。 #cp xxx.tar.gz /root 2 .由于该文件是被压缩并打包的,应对其解压缩。命令为: #tar xvzf filename.tar.gz 如果是filename.tar.bz2格式的,应该是tar jxvf filename.tar.bz2来解压 3. 执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。 4.执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为: #./configure 如果您想把软件安装到指定目录,应该用#./configure --prefix=/您自己指定的目录,比如我想把一个mlterm安装到/opt/mlterm目录中,应该如下输入 #./configure --prefix=/opt/mlterm 5.检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为: #make。 6.成功编译后,键入如下的命令开始安装: #make install 7.安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令: #make clean #make distclean 至此,软件的安装结束。 对于第二种,其安装方法要简单得多。 同第一种方式一样,将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下: #rpm -i filename.i386.rpm rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。 软件的卸载 1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令: #rpm -q -a 即可查询到当前系统中安装的所有的软件包。 2. 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令: #rpm -e [package name] 即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载: #rpm -e [package name] -nodeps 忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用 如果想知道rpm包安装到哪里了呢? 应该用 #rpm -ql [package name] 3.如何卸载用源码包安装的软件? 最好是看README和INSTALL ;一般的情况下都有说,但大多软件没有提供源码包的卸载方法;我们可以找到软件的安装点删除。主要看你把它安装在哪了。 比如: 如果安装软件时,指定个目录。这个问题也不会难; 比如用源码包安装gaim 的 #./configure --prefix=/opt/gaim #make #make install 如果安装mlterm #./configure --prefix=/opt/mlterm #make #make install 把源码包安装的软件,都指定安装在 /opt目录中,这样不就知道了; […]

龙生   03 Jan 2018
View Details

centos利用yum安装卸载软件常用命令

来自:http://tech.v01.cn/Linuxchangjianwenti/changyongruanjiananzhuangyucao/2012/0119/70.html 一、使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断; 删除的命令是,yum remove ~,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。 其中~ 代表软件名 1.用YUM安装软件包命令:yum install ~ 2.用YUM删除软件包命令:yum remove ~ 二、用yum查询想安装的软件 我们常会碰到这样的情况,想安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。我们可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。 有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。 1.使用YUM查找软件包 命令:yum search ~ 2.列出所有可安装的软件包 命令:yum list 3.列出所有可更新的软件包 命令:yum list updates 4.列出所有已安装的软件包 命令:yum list installed 5.列出所有已安装但不在Yum Repository 內的软件包 命令:yum list extras 6.列出所指定软件包 命令:yum list ~ 7.使用YUM获取软件包信息 命令:yum info ~ 8.列出所有软件包的信息 命令:yum info 9.列出所有可更新的软件包信息 命令:yum info updates 10.列出所有已安裝的软件包信息 命令:yum info installed 11.列出所有已安裝但不在Yum Repository 內的软件包信息 命令:yum info extras 12.列出软件包提供哪些文件 命令:yum provides~ 三、清除YUM缓存 yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all […]

龙生   03 Jan 2018
View Details

mysql添加DATETIME类型字段导致Invalid default value错误的问题

执行sql如下:

执行结果:

这段sql在本机测试没问题,放到开发环境下就报错了。 很奇怪,搜索一番后,发现DATETIME类型只支持mysql 5.6.5+. 解决方法:

参考资料: http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column/10603198 from:https://www.liudon.org/1288.html

龙生   03 Jan 2018
View Details

How to Install MariaDB 10.1 on CentOS 7

In this article, we will outline the process of installing PHP 7.x MariaDB 10.1, the latest stable release of the MariaDB 10.x series at the time of writing this article, on CentOS 7. Prerequisites: An up-to-date CentOS 7 Server. A sudo user. Step 1: Create the MariaDB 10.1 YUM repo file

  Note: The code for setting up newer releases of MariaDB 10.x may wary in the future. You should always check out the official MariaDB website to confirm the code to be used. Step 2: Install MariaDB 10.1 using YUM

[…]

龙生   03 Jan 2018
View Details

centos7 安装最新版mariadb10.1

centos7默认自带的是mariadb5.5,mariadb 最新版有一个比较重要的功能 select partition ,所以必须升级。 升级教程: https://www.vultr.com/docs/how-to-install-mariadb-10-1-on-centos-7 修改一下:

(那个验证的被墙了。如果服务器是国外的不需要修改,直接用第一个连接上的) 官方说明: https://mariadb.com/kb/en/mariadb/upgrading-from-mariadb-55-to-mariadb-100/ 话说升级不是很人性化,必须卸载重新安装。(by coconets@163.com ) from:http://blog.csdn.net/default7/article/details/74795766

龙生   03 Jan 2018
View Details
1 209 210 211 410