文档章节

[MySQL FAQ]系列 -- 写给新手:学会找到问题所在

叶金荣
 叶金荣
发布于 2017/04/13 13:21
字数 758
阅读 8
收藏 0
作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。
前言:我想,对于新手来说,有个很重要的问题,就是在mysql发生问题时,就束手无策,不知道该做什么了。要么到论坛里发“冰天雪地裸体跪求帮助”或“急急急”之类的帖子,要么在群里狂喊,对解决问题毫无帮助。这个时候,新手们要做的就是,学会看日志,并且找到问题所在,然后尝试自己动手解决,或者把问题描述清楚,让有经验的人士帮忙。本文说下几种常见问题,以及解决问题的丝路。

情景1:mysql无法启动

[ERROR] /usr/local/mysql/libexec/mysqld: Can't create/write to file '/usr/local/mysql/yejr.pid' (Errcode: 13)
可以看到,日志提醒的是,无法创建文件: /usr/local/mysql/yejr.pid,错误代码(Errcode)为:13。这时候,我们可以通过mysql提供的工具 perror 来查看错误代码 13 具体代表什么意思:
[yejr@imysql ~yejr]# /usr/local/mysql/bin/perror 13
OS error code  13:  Permission denied
这下很明了了,没有权限,只需要修改一下目录属主即可:
[yejr@imysql ~yejr]# chown -R mysql:mysql /usr/local/mysql
 

情景2:mysql无法启动

Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/lib/mysql/yejr.pid
mysqld ended
这是屏幕的标准错误输出,谁都无法理解真正是什么意思。很多新手在提问时,也一般只会提供这部分信息,当然是完全不够的。这时候,我们需要看看数据库主目录下的错误日志文件到底记录了什么内容。一般情况下,错误日志文件名为:xxx.err。
[yejr@imysql ~yejr]# more *.err
......
File './yejr-bin.000001' not found (Errcode: 13)
[ERROR] Could not use yejr-bin for logging (error 13). Turning logging off for the whole duration of the MySQL
To turn it on again: fix the cause, shutdown the MySQL server and restart it.
[ERROR] Aborting
[Note] /usr/libexec/mysqld: Shutdown complete
......
错误代码和刚才的一样,也是属于权限的问题,不过这次是要创建binlog。这时候,我们需要先确定是否需要开启 binlog,如果系统的I/O负载不是很高,而且没有完善的备份机制情况下,建议还是开启binlog,至少作为一种应急备份机制。如果不需要开启,我们只需要在 my.cnf 中把类似以下2行注释掉:
#log-bin = xxx
#binlog-format = xxx
这时候就会禁用binlog,然后跟上面的例子一样,修改下目录属性,应该就可以了。
总结:在你不知道该怎么办的时候,第一件事,就是查看 xxx.err 文件,然后把该文件最新部分的内容提供给你要询问的人,以方便他们帮助你解决问题。
本文出自 “MySQL中文网”博客 http://www.imysql.cn/

本文出自 “老叶茶馆” 博客,转载请与作者联系!

本文转载自:http://imysql.blog.51cto.com/1540006/308907

叶金荣

叶金荣

粉丝 95
博文 259
码字总数 0
作品 0
福州
数据库管理员
私信 提问
监控InnoDB unpurge list length新方法

导读 想要监控InnoDB unpurge list,除了执行 show engine innodb statusG 之外还有什么方法? 在以往,想要查看InnoDB中unpurges list lenght,需要执行下面的命令: 今天找到另一个可以查看...

老叶茶馆
06/13
0
0
debian7.0 x64安装amh后数据库无法连接

@Amysql 你好,想跟你请教个问题: 购买了一个vps,系统为debian7.0 x64,安装amh后出现了奇怪的问题,/home/wwwroot/index/web/下面的任意文件通过mysql_connect都能成功连接数据。但是新建...

yhtwork
2013/08/05
388
2
写给程序员新手的话

这个不是新闻,是我总结多年编程经验写的一个总结或者心得,自我感觉还不错,所以想推荐给大家看看, 版主大人看看发到哪里合适。如果实在没合适的地方就算了。 不管行不行,希望能收到版主的...

popdog0
2015/04/09
154
1
第 24 章 Web Server

目录 24.1. Apache httpd 24.2. Nginx [root@development httpd-2.2.14]# yum install zlib-devel.x86_64 ./configure --prefix=/usr/local/httpd-2.2.14 --with-mpm=worker --enable-so --e......

玄学酱
2018/01/09
0
0
写给想学Linux系统管理的人

昨天看的一篇帖子,很受启发,今天把它发上来,希望对我们都有所帮助,也希望可以为我们指点明路!(如果你连这篇文章看完的耐心都没有的话,那么我希望你还是不要学linux了) linux太难用了...

happy_teemo
2018/04/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.1K
14
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
38
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
40
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
61
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部