码迷,mamicode.com
首页 > 其他好文 > 详细

centos6.5 下 lamp编译安装 错误集锦

时间:2015-02-10 16:43:15      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

折腾了几天搞这个鬼东西,总结下经验

mysql 编译安装问题:

问题一. ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/usr/local/mysql/mysql.sock‘ (2)

1、先查看 /etc/rc.d/init.d/mysqld status 看看mysql服务是否已经启动.
service mysqld start

service mysql start

2.chown -R mysql:mysql /usr/local/mysql  赋予访问权限

3.  本人遇到的情况(mysql正常启动):

编 译的时候,sock文件自定义在/usr/local/mysql/下,phpinfo出来的mysql信息也一致,可是在mysql启动的时 候,mysql.sock竟然会在 /tmp  下生成! 而我的mysql.sock路径设置在 /usr/local/mysql下,当编译安装完,它也会产生一个mysql.sock在定义目录下,但是 lamp运行时,php会出现链接不了mysql.  我在my.cnf 里 把sock路径修改到  tmp下,重新启动就可以了.  而后我尝试把路径改回去,发现又报错。于是我把/usr/local/mysql下的mysql.sock删除,启动mysql,从tmp里面 link 一个过去 /usr/local/mysql里面,发现 竟然 OK 了!然后我重新启动下mysql,尼玛 又失败;  我重复上一次做法删掉link过去,又OK!再往复几次结果一样...
总结如下:  
对mysql.sock来说,其作用是程序与 mysqlserver处于同一台机器,发起本地连接时可用。 mysql.sock是随每一次 mysql server启动生成的,根据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更。也就是说,每一次启动mysql,它的sock 生成路径是由my.cnf指定的(本人也测试过) .
解决方案:
(1) 在 my.cnf 里修改mysql.sock路径到tmp目录下, 重新启动mysql,phpinfo查看mysql的socket信息路径 是否一致!
(2)修改完my.cnf的sock路径后,phpinfo出来的信息依然是没修改前时:
把/usr/local/mysql/mysql.sock文件删掉, 重启mysql, 使用命令  link  /tmp/mysql.sock  /usr/local/mysql/mysql.sock
(注意: 这是在mysql启动的时候设置,设置完不能重启mysql否则又失效.如果下次重启mysql时,重复上述ok)



问题二.  mysql启动失败: Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql/data/iZ28a3f2r46Z.pid).

1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /usr/local.mysql/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

2、可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

5、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6、错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

7、selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

尝试检查上面多种可能性,竟然都不是我的问题所在,  尼玛 哥遇到的问题特么奇葩!
不过经过一番波折,终于解决!其实就是内存不足! mysql5.6 就是一个内存杀手,
服务器启动mysql,free -m查看内存,妈蛋占了我400M(这次只是租个服务器来玩玩,所以内存总共也就512M).
解决办法:
到 my.cnf 输入如下
innodb_buffer_pool_size = 50M
performance_schema_max_table_instances = 400
table_definition_cache = 400
table_open_cache = 228

重启 OK!

centos6.5 下 lamp编译安装 错误集锦

标签:

原文地址:http://www.cnblogs.com/pan123/p/4284257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!