`
zhangxiong0301
  • 浏览: 351654 次
社区版块
存档分类
最新评论
文章列表
(本文转载,特此声明) 在MYSQL进行Replication的时候,有时候会由于主从端的POS点不同,导致复制的SQL进程出现错误,从而导致主从复制失败。比如在主端复制一个ID是100的到从端,而此时由于某种原因从端已经有了ID=100的记录,这时进行INSERT操作的时候,就会主键重复,插入失败。这时候需要跳过这条错误。方法如下 1:停止SLAVE 服务 mysql> STOP SLAVE; 2:设置跳过的EVENT个数 mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; 3:启动SLAVE服务 mysql> START ...
在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验。 1. 服务器资源 服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。 (1) 对于高并发情况下会有大量的运算,那么CPU的速度会直接影响到处理速度。 (2) 内存在大量数据处理的情况下,将会有较大的内存容量需求,可以用-Xmx -Xms -XX:MaxPermSize等参数对内存不同功能块进行划分。我们之前就遇到过内存分配不足,导致虚拟机一直处于full GC,从而导致处理能力严重下降。 (3) 硬盘主要问题就是读写性能,当大量文件进行读写时 ...

mysql配置参数

Allocating RAM for MySQL - The Short Answer If using just MyISAM, set key_buffer_size to 20% of _available_ RAM. (Plus innodb_buffer_pool_size=0) If using just InnoDB, set innodb_buffer_pool_size to 70% of _available_ RAM. (Plus key_buffer_size = 10M, small, but not zero.) Rule of thumb for tuni ...
Analyze Table(修复索引) MySQL 的Optimizer(优化元件)在优化SQL语句时,首先需要收集一些相关信息,其中就包括表的cardinality(可以翻译为“散列程度”),它表示某个索引对应的列包含多少个不同的值——如果cardinality大大少于数 ...
有时候Redis里面累计了大量无用的key,这时要删除全部key怎么办? 1.redis本身内置命令flushdb 2利用linux shell 命令搞定:./redis-cli keys "*" | xargs ./redis-cli del

JAVA自动发送邮件

    博客分类:
  • JAVA
最近项目用到java自动发送邮件的功能,在网上找到一段完整的代码;经测试可以正常发送邮件。感谢各位分享了。下面记下代码: import java.util.*; import javax.activation.*; import javax.mail.*; import javax.mail.internet.*; public class MainClass { private String host = ""; //smtp服务器 private String from = ""; //发件人地址 private S ...
默认情况下,innodb引擎的所有表都存储在一个叫ibdata1的文件中,当数据量很大的时候,这个文件超级大,而且由于磁盘碎片造成很大的性能影响。但是我们可以让每张表一个ibdata文件,具体做法是在mysql配置文件中加入: innodb_file_per_table=1 这样就修改了InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。重启mysql服务即生效. 查看是否开启: mysql> show variables like ‘%per_table%’; 关闭独享表空间 innodb_file_per_table=0关闭独立的表空间 mysql> ...
安装软件后,回收站目录一般在: $HOME/.local/share/Trash 其中files目录保存已删除的文件,info目录保存已删除文件的信息。 卸载python安装的软件包: python setup.py install --record install.txt    # 安装时 cat install.txt | xargs rm -rf          # 卸载时 务必在程序源代码目录保留install.txt文件,才能使用上述命令卸载。 基本命令有: trash-put           trashes files and directories. trash-emp ...
tomcat多实例部署时一般要将不同实例的日志输出到不同的文件,原因是多实例共享同一个日志文件会出现相互覆盖和删除的问题,尤其是在DaillyRollingFileAppaender时。 具体配置步骤: 1.修改各个tomcat实例bin目录下catalina.sh文件:找到JAVA_OPTS变量赋值的地方(我的tomcat 7在236行),我修改为JAVA_OPTS="$JAVA_OPTS -Dlogfilenamesuffix=001", 2。在发布工程里面的log4j文件中修改文件命名格式,引用在JAVA_OPTS中设置的参数值如,info文件可设置为:inf-$ ...
参数 描述 username 传递给JDBC驱动的用于建立连接的用户名 password 传递给JDBC驱动的用于建立连接的密码 url 传递给JDBC驱动的用于建立连接的URL driverClassName 使用的JDBC驱动的完整有效的java 类名 connectionProperties 当建立新连接时被发送给JDBC驱动的连接参数,格式必须是 [propertyName=property;]* 注意:参数user/password将被明确传递,所以不需要包括在这里。 参数 默认值 描述 defaultAutoCommi ...
最近在做数据批量查询和更新,即从表1中group by 某个字段,然后对另外一列求和,最后将求和得到的字段更新到表2里去。由于表一比较大而且跟表1同类的表很多,所以想用多线程解决问题,即多个表一同时做相同的查询,然后分别导入多个跟表2同类的表。   在实验的时候,发现一个线程(即一个表1到一个表2)最快,两个线程(同时两个表一类型的表到两个表二类型的表)次之,线程越多速度越慢,且成指数递减。在数据查询的时候用命令show processlist;无意中发现这个查询有个状态copy xxx to tmp table on disk.然后去网上查了下,发现是由于tmp_table_size和max_ ...
通常数据库系统在数据大量操作时,会产生很大的磁盘io,关闭linux各文件系统的日志功能可以提高数据库吞吐量。 以ext4为例: 1)查看文件系统是否开启日志功能了。 tune2fs -l /dev/sda2 | grep 'has_journal' 如果返回结果中出现has_journal,则说明该文件系统开启了日志(jbd,也即 journaling block device)。 或者在数据库或其他读写磁盘比较厉害的时候iotop一下,也可以发现jdb2-XXX 2)关闭文件系统日志: 重新以只读方式挂载文件系统: mount -o remount -o ro /dev/sda2 去掉 ...
工具、jar包:ganymed-ssh2.jar 编程方式:    Connection conn = new Connection(ip);    conn.connect();    conn.authenticateWithPassword(usrname,password);    Session session = conn.openSession();    session.executeCommand("xxxxx.sh"); //到这里就执行完毕了,但是有时候老是碰到执行失败的情况,所以要执行下面的步骤以得到执行该命令的返回信息,包括出错信息,从而做出修改 ...
mysql创建用户:需要有root权限的账号 示例:create user coolcloudstat@'%' identified by 'password'; ps:一定要加上:flush privileges; 删除用户:DELETE FROM mysql.user WHERE User="coolcloudstat1" and Host="%"; 同样要加上:flush privileges; 增加用户权限: grant all privileges on statanalyse.* to coolcloudstat@'%' identified ...
Global site tag (gtag.js) - Google Analytics