拿自己爱人做网站,wordpress有无缩略图,郑州的网络科技有限公司,零基础小程序开发教程概述本文介绍了在Linux实例中#xff0c;MySQL常见的无法启动或启动异常处理方法。详细描述常见问题处理描述#xff0c;目录如下。提示#xff1a;MySQL错误日志通常记录在/alidata/log/mysql/error.log文件下。MySQL配置文件my.cnf权限问题导致无法启动#xff0c;错误提…概述本文介绍了在Linux实例中MySQL常见的无法启动或启动异常处理方法。详细描述常见问题处理描述目录如下。提示MySQL错误日志通常记录在/alidata/log/mysql/error.log文件下。MySQL配置文件my.cnf权限问题导致无法启动错误提示“World-writable config file /etc/my.cnf is ignored”问题描述Linux实例的MySQL无法启动报如下错误问题分析查看MySQL错误日志发现如下错误(提示 MySQL 库的 host 表无法打开)。查看/etc/my.cnf配置文件。到MySQL数据库所在目录查看表是否存在。发现MySQL库的host表是存在的那为什么会提示不存在呢问题应该出在/etc/my.cnf文件上从第一个截图也可以看到警告信息(/etc/my.cnf被忽视)查看文件权限。原来文件权限被设置成777因安全问题导致被MySQL忽视所以去查询默认的数据库存放路径没有MySQL库的host表导致启动失败。解决办法将/etc/my.cnf权限修改成644然后启动MySQL即可。Binlog 丢失导致无法启动错误日志 File ./mysql-bin.000001 not found问题描述清理磁盘空间时删除了全部binlog日志导致MySQL无法启动。MySQL的errorlog里面可以看到错误信息。解决办法有以下两种解决方法步骤如下。编辑/etc/my.cnf找到log-binmysql-bin在前面加#将其注释暂时关闭binlog保存修改后启动MySQL服务。提示my.cnf配置文件路径以实际调用路径为准通过清理Binlog索引文件解决清理命令如下完清理后启动MySQL服务。echo mysql-bin.index注也可以通过vim编辑进行清理。Binlog无法读取导致无法启动错误日志Failed to open log (file ./mysql-bin.000001, errno 13)问题描述MySQL 无法启动报错“Starting MySQL…The server quit without updating PID file [FAILED]a/server/mysql/data/test.pid).”。并且查看MySQL的错误日志会提示“110711 00:00:00 [ERROR] Failed to open log (file ./mysql-bin.000001, errno 13)”问题原因Binlog日志无法去读一般由于磁盘空间满或者权限不正确导致。解决办法执行如下命令查询磁盘空间。df -h查看磁盘空间没有满则需要ls命令检查文件权限。执行如下命令修改文件权限。chmod 660 mysql-bin.000001chown mysql.mysql mysql-bin.000001修改完成确认正常启动MySQL。不能创建PID导致无法启动错误日志“Cant start server: cant create PID file: No such file or directory”问题描述MySQL 启动报错信息如下。Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See systemctl status mysqld.service and journalctl -xe for details、 [FAILED]问题原因MySQL服务在启动的时候不能创建PID文件。解决方法使用systemctl status mysqld.service和journalctl -xe查看服务启动失败的原因。如果mysqld目录终端看一下是否存在如果不存在执行如下命令手动创建。mkdir -p /var/run/mysqld/再次尝试启动MySQL服务报错如下。Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See systemctl status mysqld.service and journalctl -xe for details. [FAILED]查看MySQL的告警日志类似如下。2016-01-20T10:28:37.183387Z 0 [ERROR] /usr/sbin/mysqld: Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 13 - Permission denied)2016-01-20T10:28:37.183431Z 0 [ERROR] Can’t start server: can’t create PID file: Permission denied160120 18:28:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended160120 18:32:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql由于权限不正确/var/run/mysqld/的属主和属组还是rootMySQL并不能在其中创建文件后修改该目录的属主和属组。执行如下命令修改mysqld目录属性。chown mysql.mysql /var/run/mysqld/执行如下命令重启mysqld。/etc/init.d/mysqld不能创建临时文件导致无法启动错误日志“mysqld: Cant create/write to file /tmp/ibfguTtC (Errcode: 13)”问题描述MySQL启动失败错误日志“mysqld: Cant create/write to file /tmp/ibfguTtC (Errcode: 13)”。解决办法使用命令ll -d /tmp命令检查目录权限。使用chmod 1777 /tmp设置为正确权限。重启MySQL。MySQL 服务无法识别导致无法启动错误提示mysqld: unrecognized service问题描述执行MySQL启动命令service mysqld start时提示“mysqld: unrecognized service(未识别的服务)”。问题原因因为service命令是通过/etc/init.d启动服务目录来调用的所以我们需要看一下/etc/init.d是否存在mysqld这个服务使用find /etc/init.d/ -name mysqld命令来查找发现没有mysqld这个文件了。解决办法需要将这个文件复制到/etc/init.d/目录下改名为mysqld并且赋予这个文件可执行权限。最后通过命令chkconfig —add mysqld添加开机自动启动服务。使用service mysqld start启动成功。MySQL配置了过大的内存导致无法启动错误提示“InnoDB: Cannot allocate memory for the buffer pool”问题描述MySQL启动时报错查看错误日志有“[ERROR] InnoDB: Cannot allocate memory for the buffer pool(不能从缓存池中分配给innodb引擎需要的内存)”。解决办法需要调整MySQL配置文件my.cnf中的innodb_buffer_pool_size和key_buffer_size的大小设置适当的调大内存分配一般调整为系统内存的一半。先使用free -m查看下系统内存大小查看是1G内存。通过vi /etc/my.cnf调整innodb_buffer_pool_size和key_buffer_size各为500M。注意my.cnf以实际配置文件路径为准。重启MySQL服务使其生效。】MySQL启动参数过多导致无法启动错误提示“Too many arguments (first extra is start)”问题描述Linux实例系统安装MySQL启动的方式有多种如果输入mysqld start —usermysql 启动后出现报错Too many arguments (first extra is start)。问题原因这是因为启动MySQL的时候参数过多导致。解决办法通过直接输入/路径/mysqld —usermysql的方式启动如下所示。MySQL目录权限问题导致无法启动错误提示“File ./mysql-bin.index not found (Errcode:13 - Permission denied)”问题描述MySQL启动报错错误日志如下图所示。问题原因提示的异常为文件属性权限异常导致。解决方法查看MySQL服务下的data目录确认mysql-bin.index的权限是否正常。正常情况下data目录下文件的属主和属组都应该是mysql如果不是请修改正确的文件属性权限并重启MySQL。提示如果对MySQL服务配置文件的属性不清楚可以通过对比正常的MySQL主机对比了解。MySQL未初始化导致无法启动错误提示“cant open the mysql.plugin table”问题描述MySQL服务启动时错误提示如下。ERROR! MySQL manager or server PID file could not be found!Starting MySQL. ERROR! Manager of pid-file quit without updating file.问题原因查看错误日志提示“cant open the mysql.plugin table ,please run mysql_upgrade to create it”。解决办法执行如下命令指定datadir与basedir进行初始化启动。/alidata/server/mysql-5.1.73/scripts/mysql_install_db —usermysql —datadir/alidata/server/mysql/data —basedir/alidata/server/mysql-5.1.73/注意以现场实际MySQL安装路径为准。MySQL启动成功但未监听端口问题描述MySQL启动成功使用ps -ef |grep mysql可以看到进程也可以在服务器登录但是使用netstat -antp| grep 3306命令可以看到没有监听端口。问题原因配置文件中使用了skip-networking选项功能该选项的作用是不监听端口同主机的用户可以通过sockets进行链接。外部主机由于没有监听端口将无法连接。解决方法查看MySQL配置文件确认端口当前MySQL端口号。通过vim编辑MySQL配置文件将skip-networking选项注释掉或删除重启MySQL即可看到端口监听了。MySQL服务ibdata1权限问题导致无法启动错误日志“InnoDB Operating system error number 13 in a file operation”问题描述mysql启动提示update pid失败提示“Starting MySQL. ERROR! Manager of pid-file quit without updating file.”。同时错误日志中记录“InnoDB Operating system error number 13 in a file operation”如下图所示。问题原因操作系统访问文件/usr/local/mysql/var/idata1无权限导致。解决办法查看权限确认MySQL服务没有访问权限。系统显示类似如下。调整为MySQL服务可以访问的权限比如777或者是调整属帐号为mysql完成后正常重启动MySQL。磁盘空间满导致MySQL无法启动问题描述启动MySQL报错提示为“ERROR! MySQL manager or server PID file could not be found! Starting MySQL. ERROR! Manager of pid-file quit without updating file.”。并且查看下MySQL错误日志提示如下图所示。问题原因MySQL日志文件占用过大磁盘空间磁盘空间不足导致启动报错。解决办法执行如下命令查看当前磁盘使用情况。df -h系统显示类似如下。执行如下命令查看当前所有磁盘空间中大于100M的文件。find / -size 100M系统显示类似如下。确认MySQL日志占用过大磁盘空间且该日志文件无特殊需求时直接删除即可。进程残留导致MySQL无法启动问题描述MySQL启动失败错误提示“Starting MySQL. ERROR! Manager of pid-file quit without updating file.” 。问题原因使用ps -A | grep mysqld命令 发现mysqld和mysqld_safe进程残留进程ID分别是994和1221。提示进程ID在不同服务器环境中可能不同请根据实际情况为准。解决办法通过kill命令结束两个进程重启MySQL并确认成功启动。MySQL服务自动停止问题描述服务器上安装的MySQL会出现自动停止的情况。问题原因出现这种现象通常是服务器的内存不足导致的。解决办法执行如下命令查看服务器的系统日志/var/log/messages文件分析服务器日志来分析。tail /var/log/messages系统显示类似如下。注看下在MySQL自动停止的时间段内有什么异常的日志信息如果日志有提示“Out of memory”就可以判定是服务器的内存使用不足导致系统自动杀死的MySQL的进程。最后可以通过升级服务器的内存可以解决。适用于云服务器 ECS