本文用于记录在某次个人实验搭建DZ论坛,在编译安装部署mysql环节时出的错到最终排除错误的过程,

前面采用DZ官网所采用的编译安装mysql的过程就省去,主要从报错处开始讲述。

(题外话,经此一役后,在下深觉如果不是针对DZ官网给出的mysql包和脚本是针对它的产品作了优化的话,还是之前自己掌握了的RPM换源安装Mysql及普通青年的编译安装mysql方法要简易适合得多,不过对方那个使mysql开机自动启动的脚本及一些目录编排一些配置有可借鉴的地方)

启动mysql时报错,服务退出而不更新PID号。

百度报的这串错误,按照那些方法都做了一遍,仍然未能解决,看来问题根源没那么简单。

附网上说的:

1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限

解决方法 :给予权限,执行 “chown -R mysql:mysql /var/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后存盘退出重启机器试试。

(现在解决完后回过头来看,它就属第4种错误,虽然我已经将/etc/my.cnf 改名,并在mysqld中指向配置文件是/usr/local/Comsenz/etc/my.cnf并在[mysqld]段下都设好了datadir 与 basedir 。但无奈它就是没生效?)

最后想到最厉害的一招,查看错误日志,发现

最开头的错误是不能打开mysql.plugin table,然后要去运行mysql_upgrade去创建它。

然后在进到bin目录下使用mysql_upgrade这个脚本时候,又接到mysql.sock这个文件(或叫接口没有)

到了这一步,似乎陷入死循环了,因为查找mysql.sock套接字文件也是没有的,了解到mysql.sock是一个临时文件,在mysql启动时会自动生成,我的服务器未启动,自然就没有mysql.sock文件。所以纠结这个mysql.sock文件也是没多大意义的。至少这次mysql未能启动的根源不在它。

返回去查看错误日志,先将另外的错误排除,或许就解决了就不一定,抱着这样的发散思维,我又找到了一行报错

这次的报错就很关键了,简单来说可以理解为mysql还不知道你的存放db的目录在哪里?

所以要进脚本目录敲一个命令去指定它!(假如你是从别的地方迁移过来的也会这样)

虽然很奇怪的是我明明配置文件有指定了,但敲命令去核实是挺好的。

./scripts mysql_install_db –usrer=mysql datadir=/data/mysql 然而再次报错

找不到./bin/my_print_defaults是什么鬼,提示还让我重新编译安装?

还好下面还给出了另一个选择,叫我将basedir也指定好。

于是再次进入cd /usr/local/Comsenz/mysql使用其下目录scripts里的mysql_install_db这个脚本

sudo ./scripts mysql_install_db --user=mysql --basedir=/usr/local/Comsenz/mysql --datadir=/data/mysql &

顺便一提,&这个只是用来将命令放后台运行

太激动了,这次终于不是提示出错。而是成功了!见下图

前面一直出现的报错,结果一环扣一环,不详细看错误日志去一直溯源排查的话,只对应百度单点故障的话是很难去排除故障的。

之前的步骤可能也没做好,没指定对用户、基本目录与数据目录。以致引起这么一串问题。

可以看到上图在为mysql设置了用户和密码后,登录运行mysql可进行操作了。

【排障】编译安装Mysql并使用自启动脚本mysqld后报错的更多相关文章

  1. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  2. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

  3. CentOS 编译安装 mysql

    1.前期准备 1.1 环境说明: 操作系统: CentOS release 6.4 (Final) [查看命令 cat /etc/redhat-release ] mysql : mysql-5.6. ...

  4. Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...

  5. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  6. Linux CentOS6.5下编译安装MySQL 5.6

    检查:卸载掉原有MySql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已 ...

  7. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

  8. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  9. Linux编译安装Mysql步骤

    一. Centos 用 wget 下载需要的软件,保存到目录/home/zwl/MySql/下 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/my ...

随机推荐

  1. 总结1-JMeter压力测试

    考虑到测试最需要逻辑能力,所以今天开始慢慢写些东西,希望能自我锻炼下. 第一个课题是压力测试,会把我了解到的和百度的东西按我的思路整合一下 一 什么是压力测试 二 压力测试所需要关注的参数 三 怎么做 ...

  2. [selenium webdriver Java]隐式的等待同步

    Selenium WebDriver提供了隐式等待来同步测试.当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常 即,当元素没 ...

  3. 5.2 CUDA Histogram直方图

    什么是Histogramming Histogramming是一种从大的数据集中提取典型特征和模式的方式. 在统计学中,直方图(英语:Histogram)是一种对数据分布情况的图形表示,是一种二维统计 ...

  4. JSF session的用法

    http://blog.csdn.net/finelife/article/details/1608632 1.写入sessionObject sessionName = "name&quo ...

  5. HW6.14

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  6. CentOS 6.5 安装配置VSFTP

    1.下载安装VSFTP 首先查看当前系统是否已经安装VSFTP,若未安装则使用yum安装. chkconfig --list | grep vsftpd #查看是否安装 yum install vsf ...

  7. CM 部署bigdata测试环境群集机器报错

    CM repo库info;

  8. git http方式时保存密码

    一直使用ssh方式,但是git@osc的ssh只能pull,不能push  - -|||    htts方式保存密码老是忘记,每次提交代码都要输入密码烦死了.找到文章备忘: 转自:http://git ...

  9. A Tour of Go Channels

    Channels are a typed conduit through which you can send and receive values with the channel operator ...

  10. Java任务调度

    最近项目要用到任务调度的相关知识,昨天信心满满的去官网学习,结果被坑个半死,我用的最新版的quartz,文档里说是兼容所有版本,但是代码连编译都报错,无奈只好从网上找资料,摸着石头过河总算有点眉目,在 ...