本文用于记录在某次个人实验搭建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. 浅谈Javascript中默认参数值的设置

    第一种: 1: function test(a,b){ 2: var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 3: var b = argu ...

  2. 卡特兰数 BZOJ3907 网格 NOIP2003 栈

    卡特兰数 卡特兰数2 卡特兰数:主要是求排列组合问题 1:括号化矩阵连乘,问多少种方案 2:走方格,不能过对角线,问多少种方案 3:凸边型,划分成三角形 4:1到n的序列进栈,有多少种出栈方案 NOI ...

  3. Tasks on 2013

    1.改进并补充实验 2.样本选取和文档分布调查 3. Diversity Metrics 4. PPT for Project starting 1. Chrome & webkit 2. O ...

  4. 如何搭建ss服务器

    由于是Red Hat系统,缺少epel包,需要先安装该包才能安装python-pip,命令如下: rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x8 ...

  5. c语言中格式化输出函数的研究

    <一>; 1.前言 在gcc编程中,我们比较经常用到的字符格式化输出函数是printf的,实际上gcc继承了c语言处理字符具有强大功能的风格,它提供了一系列的格式化输出函数,主要存在两个库 ...

  6. Oracle-数据实现竖排打印

    --存放重证评分的数据表create table ZZPFapache2(  ZZ_datetime DATE,   --时间  ZZ_zongfen INTEGER, --总分  ZZ_shiwan ...

  7. 转载C#函数式程序设计初探——基础理论篇

    转载网址:http://www.cnblogs.com/Hlia/archive/2013/04/20/3029701.html 个人认为,C#语言的某些设计并不非常适合函数式开发,比如它的类型推断并 ...

  8. jquery-ui 之Sortable详解

    <div class="aaa"> <ul id="sortable"> <li id="test">I ...

  9. 【C++深入浅出】设计模式学习之单例模式

    但凡成为大家公认的模式,都是有一些不可小觑的威力,今天分享一个简单的设计模式:单例模式. 单例模式用于一些只希望有一个实例的类或者只希望执行一次的操作:校长只能有一个.老板只能有一个.用户点击弹窗只希 ...

  10. C#操作sql通用类 SQLHelper

    Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web. ...