1、可能是/opt/mysql-master/data/数据目录mysql用户没有权限(修改数据目录的权限)
创新互联建站专业为企业提供昆玉网站建设、昆玉做网站、昆玉网站设计、昆玉网站制作等企业网站建设、网页设计与制作、昆玉企业网站模板建站服务,10余年昆玉做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
解决方法 :给予权限,执行 "chown -R mysql.mysql /opt/mysql-master/data" 然后重新启动mysqld
2、可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧
4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /opt/mysql-master/data
5、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6、错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
7、selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:
先临时改为警告模式:[root@www php]# setenforce 0然后打开/etc/sysconfig/selinux,把SELINUX=enforcing改为SELINUX=disabled
8、可以试着把mysql.cnf默认文件开启,排查是不是配置文件的错误。
常见配置错误有:
查看配置文件/etc/my.cnf里有没有innodb_buffer_pool_size这个参数
innodb_buffer_pool_size:主要作用是缓存innodb表的索引,数据,插入数据时的缓冲;
默认值:128M;专用mysql服务器设置此值的大小: 系统内存的70%-80%最佳。如果你的系统内存不大,查看这个参数,把它的值设置小一点吧
温馨提示:记得开启mysql错误日志,方便自己排错。
vim /etc/my.cnf 各位可以根据自己的my.cnf文件编辑[mysql_safe]
log-error = /data/mysql-master/logs/error.log
$result= mysql_fetch_arry($sql);
函数写错了,且忘记写执行语句了:
$result = mysql_fetch_array( mysql_query( $sql ) );
echo $result[0];
当系统服务的MySQL错误日志中,发现大量以下类似信息:经常收到客户关于通信故障错误的问题—客户面临间歇性的”Got an error reading communication packet”错误,这里分析这个错误出现的原因,以及如何解决这个问题。
下面看看官网怎么说:
Other reasons for problems with aborted connections or aborted clients:
Aborted connection情况下,这也意味着以下几个问题:
当然,也可能是其它原因导致的。坦白讲,异常中断是很难诊断的,也有可能是和网络、防火墙有关。
如果log_warnings的值大于1,mysql会将类似信息写入错误日志:
可以修改一下log_waring的值:
但这样直接修改,重启后会失效,修改配置文件mysql.cnf log_warnings = 1