今天打开本地mysql(win环境下)报错10061无法打开数据库,第一反应是mysql服务没起来,去管理工具-服务里看了下,mysql服务起来了;接着去看3306端口,netstat -a -n没有占用掉3306的进程,最后去网上搜了下,看到几个版本的解决方法:
一种是去看my.ini里的bind-address和hosts文件里的127.0.0.1 localhost是否对应正确;
第二个是在my.ini文件[mysqld]节点下加上skip-innodb,这个试了好像也没有用。
第三个是把默认引擎改成Myisam,试了下有效果,偶尔看到一个帖子上说有可能是Innodb引擎的初始化造成的,故去/Mysql/data目录下查看 .err文件,发现一句:InnoDB: Error: cannot allocate 2147500032 bytes of...的报错,应该是Innodb被分配了过多的内存,这里看到应该是2G左右,所以去修改了my.ini里的一个参数设置:innodb_buffer_pool_size 使其低于2G这个数值,同时把默认引擎改回innodb,OK。
产生一个问题不可怕,直接so到结果也不见得是好事,知道如何去查找错误也是个需要学习的步骤。
还可以继续深入下去,比如innode_buffer_pool_size这个参数到底是如何影响mysql服务的?