Mysql数据库的一些配置问题

  1.  Mysql的配置文件路径一般为/etc/my.cnf (linux)  my.ini(windows)

  

  2.  需要调整 max_allowed_socket 的值,一般设置到10m即可,以防止CLOB字段有时不能正常插入的问题。

 

  3.  添加 lower_case_tablename=1.(mysql 5.x之前数据库查询的语句不区分大小的,之后版本的默认情况是区分大小写的。)

 

  4.  检查InnoDB是否开启

  主要是检查数据库的配置文件是否开启InnoDB的一些参数,以及适当的调整其值。

 

  5.  修改参数导致系统启动失败的处理

  在调整InnoDB参数的时候,设置不当,可能导致MYSQL初始化失败。这时我们可以通过分析日志寻找线索来解决问题。日志的路径一般情况下在/var/lib/mysql目录下,日志文件的名称为 hostname.err ,其中hostname为服务器的名称。

  

  如下是一个内存不足的一段日志片段,借助free命令来帮助分析问题。

图片1

 

  6.  附录 官网的mysql配置文件

  [mysqld]

  datadir=/var/lib/mysql_utf8

  socket=/var/lib/mysql/mysql_utf8.sock

  user=mysql

  # Default to using old password format for compatibility with mysql 3.x

  # clients (those using the mysqlclient10 compatibility package).

  old_passwords=1

  skip-locking

  max_allowed_packet = 1M

  net_buffer_length = 8K

  port=3306

  default-character-set=utf8

  lower_case_table_names=1

  max_connections=1000

  query_cache_size=100M

  table_cache=256

  tmp_table_size=50M

  thread_cache_size=8

  myisam_max_sort_file_size=100G

  myisam_max_extra_sort_file_size=100G

  myisam_sort_buffer_size=50M

  key_buffer_size=50M

  read_buffer_size=1024K

  read_rnd_buffer_size=4096K

  sort_buffer_size=4096K

  innodb_additional_mem_pool_size=10M

  innodb_flush_log_at_trx_commit=2

  innodb_log_buffer_size=5M

  innodb_buffer_pool_size=100M

  innodb_log_file_size=10M

  innodb_thread_concurrency=8

  [mysqld_safe]

  log-error=/var/log/mysql_utf8.log

  pid-file=/var/run/mysqld/mysql_utf8.pid

  

Tomcat的一些问题

  1.  Tomcat JVM参数问题

  不管是新装Tomcat中间件还是使用系统现有的Tomcat中间件,都要检查JVM的一些参数是否设置正常,是否符合应用的要求。比如-Xms255m -Xmx512m 这样的设置JVM内存限制的参数。如果没有这样的设置,JVM的内存将使用系统默认配置,在64位的Linux系统下JVM使用的内存默认没有限制,可能会占用全部的可用内存,从而影响其它程序的正常运行。

 

  2.  添加JVM参数的方法

  我们可以把启动参数添加到环境变量里面。通过 vim 编辑 /etc/profile 在该文件最后一行添加如下内容:

  export JAVA_OPTS=-Dfile.encoding=GBK -Djava.awt.headless=true -Xmx1024m -Xms256m -XX:Pe rmSize=64M -XX:MaxPermSize=512m

  后保存。然后执行source /etc/profile 命令,或者重新登录用户。

  可以使用env命令来查看设置的参数是否已经生效。

  环境变量修改成功之后,启动Tomcat 然后通过 ps aux|grep java 命令查看参数是否被java进程使用。

2

  如果在env命令中可以看到JAVA_OPTS的值,但java进程信息中找不到相应的参数,则可能是tomcat安装目录下的startup.sh被人为修改过,需要去掉JAVA_OPTS相关的行。

  

  3.  Tomcat关闭的问题

  通过tomcat/bin/shutdown.sh关闭的时候,有时候某些原因,java进程是没有关闭的,关闭tomcat的时候一定要使用ps aux|grep java来查看java是否关闭。如果没有关闭可以使用kill -9 pid 来杀死进程,启动pidjava进程ID

  (mysql数据库关闭不可以用kill -9这种方式来关闭,不然下次开启会有一些奇怪的问题出现)

4. JDK1.7存在问题

  使用JDK1.7需要添加启动参数

  

       添加类似修改jvm内存。