zoukankan      html  css  js  c++  java
  • 2013年工作中遇到的20个问题:281-300

     281.MySQL的JDBC的URL配置有个参数zeroDateTimeBehavior。

    jdbc:mysql://ip:3306/demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
    "zeroDateTimeBehavior=convertToNull"这个参数,我以前都不带的,今天比较好奇,就网上搜了下。

    http://zhaohe162.blog.163.com/blog/static/3821679720110261248540/

    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-tables
    B. 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 -p

    mysqladmin -uroot -ply123456 variables  
     
     至少,也应该先关闭Web服务器,再强行关闭MySQL,尽可能减少错误情况的发生。
     
     根据最近遇到的问题来看:急需重新复习Linux各种命令,深入学习MySQL。
     
     mysql -uroot -ply123456
    288.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 ignored
    To fix this problem, use the following command to change file’s permissions
    要修改该问题,使用以下命令更改该文件的权限。

    chmod 644 /etc/my.cnf
    http://hi.baidu.com/perfect_song/item/32c25c0434dea110ebfe38bb

    令人郁闷的是,咱们的数据库配置“/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' failed
    error: '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
     参考资料:http://www.blogjava.net/asenyifei/articles/82575.html
     
     292.坑爹的MySQL配置。
     Linux /etc/my.cnf有下面这项配置。
     因为第一次打开这个文件的时候,就有这项配置,我就觉得这个配置是合理的。
     不但如此,我们启动MySQL的方式是 "mysqld_safe &",所以我理解成下面这个配置是
     专门为这个命令配置的。
     
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/usr/local/mysql/mysqld.pid
    datadir=/usr/local/mysql/var
    socket=/usr/local/mysql/mysql.sock
    max_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。

    相关阅读

    工作问题 http://blog.csdn.net/FansUnion/article/category/1334371

  • 相关阅读:
    三目运算符
    程序流程结构——if语句
    类型转换
    运算符
    scanf函数与getchar函数
    结构体成员有冒号 位域 位段
    AI作曲的一个点子
    《惯性导航》邓正隆 第一章 惯性导航的基础知识
    《C陷阱与缺陷》 第0章导读 第1章词法陷阱
    类与类之间的关系 18
  • 原文地址:https://www.cnblogs.com/qitian1/p/6463471.html
Copyright © 2011-2022 走看看