281.MySQL的JDBC的URL配置有个参数zeroDateTimeBehavior。
jdbc:mysql://ip:3306/demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
"zeroDateTimeBehavior=convertToNull"这个参数,我以前都不带的,今天比较好奇,就网上搜了下。282.遇到难题时,更换思路。A服务器上有MySQL,最大数据库连接是100
B服务器上有Tomcat和应用。项目部署在B服务器,由于13个项目,数据库连接池最高保持50个连接,
导致11个项目的数据库连接之和,可能大于100。最开始,老是想着调整A服务器上的MySQL的max_connections=600,
由于今天SSH突然连接不上A服务器,令人很着急。最后想到,咱们可以暂时把B服务器上的项目的数据源的最大连接调小一点,
<property name="maxConnectionsPerPartition" value="5"/><property name="minConnectionsPerPartition" value="2"/>这样,至少解决了现在遇到的问题。等A服务器可以连接了,再重新修改max_connections配置。283.MySQL的各种命令。explain sql;
show processlist;除了DDL、DML,DCL,MySQL还有一些其它的命令,也需要学习。284.MySQL重置密码。use mysql;
update user set password="123456";MySQL的mysql数据库user表存储的是 加密后的密文。重置密码步骤
A. mysqld --skip-grant-tablesB. update user set password=password("123456") where user="root"; (别忘了最后的分号)C.刷新权限(必须的步骤)>flush privileges;285.Linux访问墙。问题症状:MySQL数据库所在的主机可以登录mysql,其他主机都无法远程连接到mysql。
原因:Linux防火墙。出现原因:Linux系统重启了一次。默认应该会打开防火墙。
286.Linux系统解决问题的好方法。 看日志和历史命令。
/var/log/ 集中存放了Linux各种日志信息。 ~/.bash_history记录了所有的历史命令。287.MySQL数据库文件损坏。Caused by: java.sql.SQLException: Incorrect information in file: './lingyan/ConfigAlert.frm'
SQL Error: 1033, SQLState: HY000 出现这个问题的原因:很可能是由于强行删除MySQL进程导致的,最近确实经常这么干。 最终的解决方法: 关闭MySQL killall mysqld 重启 mysqld_safe 正常关闭MySQL的做法: mysqladmin -u root shutdown -pmysqladmin -uroot -ply123456 variables
至少,也应该先关闭Web服务器,再强行关闭MySQL,尽可能减少错误情况的发生。 根据最近遇到的问题来看:急需重新复习Linux各种命令,深入学习MySQL。 mysql -uroot -ply123456288.Tomcat配置内存。切记:Linux和Windows下的配置是不同的。Linux系统在/usr/local/tomcat/bin 目录下的catalina.sh添加:
JAVA_OPTS='-Xms512m -Xmx1024m'
要加“m”说明是MB,否则就是KB了,在启动tomcat时会 报内存不足。-Xms:初始值
-Xmx:最大值-Xmn:最小值Windows系统
在catalina.bat最前面加入set JAVA_OPTS=-Xms128m -Xmx350m 289.MySQL配置文件被忽略。World-writable config file '/etc/my.cnf' is ignoredTo fix this problem, use the following command to change file’s permissions要修改该问题,使用以下命令更改该文件的权限。chmod 644 /etc/my.cnf
令人郁闷的是,咱们的数据库配置“/etc/my.cnf”不正确。
因此,还是没有使用“/etc/my.cnf”这个文件。就让这个警告“World-writable config file '/etc/my.cnf' is ignored”存在吧!290.配置文件的优先级。
show variables like '%max_connections%';
set GLOBAL max_connections=1500;#mysqladmin: connect to server at 'localhost' failederror: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!#不支持localhost
mysqladmin -uroot -ply123456 shutdown #必须加上 -h选项 mysqladmin -h i705.mzhen.cn -uroot -ply123456 shutdown 用my.cnf,需要 mysqld_safe & #有时候mysql不支持 localhost mysql -uroot -p -h ..; Windows 的MySQL 291.MySQL无法登录。 mysql -uroot -p123456 无法登录,提示"Can't connect to local MySQL server through socket '/tmp/mysql.sock'" 而 mysql -h 192.168.1.1 -uroot -p123456 可以登录。 解决方案:给个链接。 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 参考资料: 292.坑爹的MySQL配置。 Linux /etc/my.cnf有下面这项配置。 因为第一次打开这个文件的时候,就有这项配置,我就觉得这个配置是合理的。 不但如此,我们启动MySQL的方式是 "mysqld_safe &",所以我理解成下面这个配置是 专门为这个命令配置的。 [mysqld_safe]log-error=/var/log/mysqld.logpid-file=/usr/local/mysql/mysqld.piddatadir=/usr/local/mysql/varsocket=/usr/local/mysql/mysql.sockmax_connections=1000实际上,上面这个配置根本是不合理的,不知道是哪个家伙添加的。
更多详细配置,可以参考Windows下MySQL的配置参数。 my.ini my-huge.ini my-large.ini 293.设置MySQL的最大连接数。 网友有如下经验,使用下面这个命令 set GLOBAL max_connections=1500; 让人迷惑的是,提示“查询OK,0行受到影响” mysql> set GLOBAL max_connections=1500;Query OK, 0 rows affected (0.00 sec)我误认为没有设置成功,并且我通过“show status”这个命令也没有找到“max_connections”这个参数和值。
实际查询确认方法 show variables like '%max_connections%'; 294.聚餐时的点餐问题。 团队建设TeamBuilding,海底捞聚餐,某同事负责点餐。 其中,点了一些不常见的菜,最后还是没人吃的。 一个有经验的同事饭后提醒:对于大家一起吃饭,点菜要点大部分人可以吃的,那些有人容易恶心或厌倦的菜,就不要点。一是点了没人吃,二是你吃了,说不定别人恶心。另外一点,菜量的问题,一般来说平均每人2盘菜。
多了容易吃不完。 295.点餐不交票。 隔壁一家快餐店,顾客点餐,服务员A把票交给客户,客户需要再把票交给服务员B。 各个服务员都是专业分工,点餐-上饭是一条流水线。 某顾客C忘记交票了,结果TA的砂锅迟迟不来。 296.程序员的绩效考核。 原来在项目部的时候,绩效考核有若干项,其中一项是“表达沟通”。 才来的几个月,我一心干事,没有过多去“说话”。 结果,这一项的考核总是比较低。 我比较郁闷。 启示:埋头苦干,很多时候,根本不行。抬头看路,看看周围的氛围,还是比较重要的。 入乡随俗? 反思:绩效考核中是否应该加入“表达沟通”一项呢? 正面理由:促进团队建设。 反面理由: 绩效考核的目的是什么?如果说是为了促进整个团队的建设,每个人的表达沟通还是重要的。 反之,如果是为了量化个人对团队和公司的贡献,“个人的表达沟通”就应该是可选项和加分项, 而不是必选项和”扣分项”。 297.打电话说事之前,先礼貌地询问“现在说话方便么?”。 298.一个商机的出现,往往会出现很多的竞争者。 土豪公司招兵买马的时候,猎头就闪亮登场了。 此时,也是求职者鲤鱼跃龙门的机会。 当然,机会都是留给有准备的人的。 2013年10月31日 299.某工商局和某汽车网站上的数据,都是结构化展示的。 因此,可以顺利地抓取这些信息。 JS文件,有的的网站会“混淆代码”,防止别人知道网站的源码和规律。 300.前端执行请求,后端没有响应,卡死了。 getDashboardData()中卡住了。 前半部分代码,访问了数据库是可以的。 后半部分代码,卡住了。 一旦卡住,再登录,也会卡住。 执行Hibernate查询语句的时候query.list(),就会卡住,没有响应。 可能原因: 1.多数据源切换。 2.线程死锁。 Log4j日志级别设置为debug。相关阅读