一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Database

MYSQL com.mysql.jdbc.PacketTooBigException错误

问题描述 保存数据到MySQL时遇到以下错误: Error updating database.  Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (10113 > 1024). You can change this value on the server by setting the max_allowed_packet’。 原因是MySQL的max_allowed_packet设置过小引起的,默认设置的是1M,操作数据大于1M会受max_allowed_packet参数限制;改为了10M后问题解决。 使用SQL: show VARIABLES like '%max_allowed_packet%'; 查看max_allowed_packet大小。 解决方案 1. 在my.cnf中(windows下my.ini)修改 max_allowed_packet大小为10M;Max_allowed_packet = 10M。 2. 保存并退出。 3. 重启MySQL服务即可。 ——————— 作者:犁叔 来源:CSDN 原文:https://blog.csdn.net/u012739535/article/details/76132973 版权声明:本文为博主原创文章,转载请附上博文链接!

龙生   20 Nov 2018
View Details

Redis 避不开的五种数据结构

Redis 中有 5 种数据结构,分别是字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set),因为使用 Redis 场景的开发中肯定是无法避开这些基础结构的,所以熟练掌握它们也就成了一项必不可少的能力。本文章精要地介绍了 Redis 的这几种数据结构,主要覆盖了它们各自的定义、基本用法与相关要点。 字符串类型 字符串是 Redis 中的最基础的数据结构,我们保存到 Redis 中的 key,也就是键,就是字符串结构的。除此之外,Redis 中其它数据结构也是在字符串的基础上设计的,可见字符串结构对于 Redis 是多么重要。 Redis 中的字符串结构可以保存多种数据类型,如:简单的字符串、JSON、XML、二进制等,但有一点要特别注意:在 Redis 中字符串类型的值最大只能保存 512 MB。 命令 下面通过命令了解一下对字符串类型的操作: 1.设置值

set 命令有几个非必须的选项,下面我们看一下它们的具体说明: EX seconds:为键设置秒级过期时间 PX milliseconds:为键设置毫秒级过期时间 NX:键必须不存在,才可以设置成功,用于添加 XX:键必须存在,才可以设置成功,用于更新 set 命令带上可选参数 NX 和 XX 在实际开发中的作用与 setnx 和 setxx 命令相同。我们知道 setnx 命令只有当 key 不存在的时候才能设置成功,换句话说,也就是同一个 key 在执行 setnx 命令时,只能成功一次,并且由于 Redis 的单线程命令处理机制,即使多个客户端同时执行 setnx 命令,也只有一个客户端执行成功。所以,基于 setnx 这种特性,setnx 命令可以作为分布式锁的一种解决方案。 而 setxx 命令则可以在安全性比较高的场景中使用,因为 set 命令执行时,会执行覆盖的操作,而 setxx 在更新 key 时可以确保该 key 已经存在了,所以为了保证 key 中数据类型的正确性,可以使用 setxx 命令。 2.获取值

3.批量设置值

4.批量获取值

如果有些键不存在,那么它的值将为 nil,也就是空,并且返回结果的顺序与传入时相同。 5.计数

incr 命令用于对值做自增操作,返回的结果分为 […]

龙生   26 Sep 2018
View Details

SQL Server 跨库同步数据

最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理。这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的。存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中。逻辑是如果不存在则插入,存在则更新字段。

如果没有正确配置,经常会出现 消息 7391,级别 16,状态 2,过程 xxxxx,第 XX 行 。无法执行该操作,因为链接服务器 "xxxxx" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。   可以参照如下的配置: 具体可以参看:http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html   from:https://www.cnblogs.com/isaboy/p/sql_server_job.html

龙生   07 Sep 2018
View Details

sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接。

启动sonarqube 6.7.1 报下面的错误: 2018.01.24 10:10:56 WARN  app[][o.e.t.n.Netty4Transport] exception caught on transport layer [[id: 0x146de8cb, L:/127.0.0.1:57099 – R:/127.0.0.1:9001]], closing connection java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(Unknown Source) at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source) at sun.nio.ch.IOUtil.read(Unknown Source) at sun.nio.ch.SocketChannelImpl.read(Unknown Source) at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:433) at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100) at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) at java.lang.Thread.run(Unknown Source) 根据sonar.properties里面的注释,mysql版本不能低于5.6, 而我装的mysql版本5.5,升级mysql到5.7版本,问题解决。 另外如果联接数据库的帐号密码错误,也会报这个错。   from:https://blog.csdn.net/xjj1314/article/details/79150329

龙生   14 Jul 2018
View Details

PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

使用说明: 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。输入下面你要选择的语句即可,也可以保存起来,以便下次使用,后缀为.vbs。 需要注意的问题是:运行语句时必须在Module模式下,如果是导出报表时执行会出现错误提示。 1.Name转到Comment注释字段。一般情况下只填写NAME,COMMENT可以运行语句自动生成。 将该语句保存为name2comment.vbs

2.将Comment内容保存到NAME中,comment2name.vbs 实习互换。语句为:

from:https://www.cnblogs.com/netsql/archive/2010/05/24/1742734.html

龙生   27 Jun 2018
View Details

PowerDesigner从Sqlserver中反转为带注释的字典及快捷键操作

PowerDesigner的操作经常忘记,所以把常用的功能记录下来备忘。 1、修改反转过来的字段 PowerDesigner从数据库反转的时候,默认不带注释,需要先进行修改。 输入如下脚本: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 {OWNER, TABLE, S, COLUMN, DTTPCODE, LENGTH, SIZE, PREC, COMPUTE, NOTNULL, IDENTITY, DOMAIN, DEFAULT, COMMENT, ExtIdentityIncrement, ExtIdentitySeed} select u.name, o.name, c.colid, c.name, case when (s.usertype < 100) then s.name else x.name end, c.prec, c.length, c.scale, z.text , case (c.status & 8) when 8 then 'NULL' else 'NOTNULL' end, case (c.status & 128) when 128 then 'identity' else " end, case when (s.usertype < 100) then " else s.name end, v.text, CONVERT(varchar, ISNULL(p.[value], ")) AS text, case (c.status & 128) when 128 then ident_incr(u.name + '.' + o.name) else null end, case (c.status & 128) when 128 then ident_seed(u.name + '.' + o.name) else null end from dbo.sysusers u join dbo.sysobjects o on (o.uid = u.uid and o.type in ('U', 'S', 'V')) […]

龙生   27 Jun 2018
View Details

Mysql 忘记root密码的完美解决方法

一、更改my.cnf配置文件 1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 2.在[mysqld]下添加skip-grant-tables,然后保存并退出 3.重启mysql服务:service mysqld restart 二、更改root用户名 1.重启以后,执行mysql命令进入mysql命令行 2.修改root用户密码 1 2 3 MySQL> UPDATE mysql.user SET Password=PASSWORD('新密码') where USER=’root'; MySQL> flush privileges; MySQL> exit 3.把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart 好了,下面就可以用root新的密码登录了! 以上所述是小编给大家介绍的Mysql 忘记root密码处理办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! from:https://www.jb51.net/article/100925.htm

龙生   27 Jun 2018
View Details

sqlserver的四种分页方式

第一种:ROW_NUMBER() OVER()方式 select * from ( select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels ) as b where RowId between 10 and 20 —where RowId BETWEEN 当前页数-1*条数 and 页数*条数— 执行结果是: 第二种方式:offset fetch next方式(SQL2012以上的版本才支持:推荐使用 ) select * from ArtistModels  order by ArtistId offset 4 rows fetch next 5 rows only --order by ArtistId offset 页数*条数 rows fetch next 条数 rows only —- 执行结果是: 第三种方式:--top not in方式 (适应于数据库2012以下的版本) select top 3 * from ArtistModels where ArtistId not in (select top 15 ArtistId from ArtistModels) ——where Id not in (select top 条数*页数  ArtistId  from ArtistModels) […]

龙生   04 Jun 2018
View Details

MySQL创建用户与授权

一. 创建用户 命令:

  说明: username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符% password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器 例子:

  二. 授权: 命令:

  说明: privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL databasename:数据库名 tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.* 例子:

  注意: 用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

  三.设置与更改用户密码 命令:

  如果是当前登陆用户用:

  例子:

  四. 撤销用户权限 命令:

  说明: privilege, databasename, tablename:同授权部分 例子:

  注意: 假如你在给用户’pig’@’%’授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig’@’%’,则在使用REVOKE SELECT ON *.* FROM 'pig’@’%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig’@’%';则REVOKE SELECT ON test.user FROM 'pig’@’%';命令也不能撤销该用户对test数据库中user表的Select权限。 具体信息可以用命令SHOW GRANTS FOR 'pig’@’%'; 查看。 五.删除用户 命令:

  作者:hoxis 链接:https://www.jianshu.com/p/d7b9c468f20d 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   21 May 2018
View Details
1 10 11 12 40