说说我的Mysql
话说去年的这个时候我以一个Mysql新手的水平,给客户做了一个客户端程序,.net+mysql。mysql用的是innodb运行一年多,还算稳定,现在数据量有个1G左右,20多个表,主表有2,30W条。
最近客户频繁的向我抱怨说每天下午开始,程序变的慢起来,有时候画面会停顿3,4秒的样子。(客户的电脑配置,Win7 64 + 4G内存,双核I5,每天有大约30-40台电脑运行我的程序)
我本着对客户就是上帝和自我高尚的职业道德水准,准备对这一问题进行大刀阔斧的改革。
首先我觉的客户机器不可能是瓶颈,于是我吧目标放到服务器上,服务器是8个CPU 8G内存的电脑,就运行了我一个Mysql,且用的100M光纤。通过各种学习,我认为服务器负荷不大。于是我就把我的目标瞄准了Mysql。G+B大法用过之后,感觉Mysql的一个参数设的感觉用问题,就是innodb_buffer_pool_size这个变量,据说这个变量对innodb的Mysql有这相当重要的影响,我查看了一下我的Mysql的这个变量,并没有设定,也就说用的默认值,130M左右。网上大神们说这个值最好设
------解决方案--------------------坐等续集
------解决方案--------------------show processlist;
------解决方案--------------------
1,只修改了innodb_buffer_pool_size大小,是不会出现这些情况的。
查看/var/lib/mysql/mysql/ 下的文件的用户组都是属于root.root
可以把权限改成mysql.mysql。你删掉重新生成mysql库的话,导致帐号密码信息都丢失了。
2,ib_logfile0 ib_logfile1 ibdate1 这三个文件是干啥的。。能不能删。
ibdate1:共享表空间。绝对不能删除,用处:G+B
ib_logfile0 ib_logfile1:事务日志,可以删除,但会丢失事务信息。用处:G+B
建议:重启时候,要是有什么改动的话,保险点 把innodb_fast_shutdown设置成0,完了之后,ib_logfile0 ib_logfile1 随便你删不删。