初始化故障排查

1. so依赖缺失

比如报这样的错误:

./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

可以用yum install libnuma.so.1安装依赖包。 实验发现安装成功之后,还是报同样的错误。用ldd /usr/local/mysql/bin/mysqld查询,libnuma.so.1 => not found。上网找了原因,需要再yum install numactl。而yum install libnuma.so.1安装出来是numactl-2.0.9-2.el6.i686;所以需要再安装yum install numactl,安装出来是mysql-libs-5.1.71-1.el6.x86_64

./scripts/mysql_install_db --user=mysql
Installing MariaDB/MySQL system tables in '/data/mysql/mysql3306/data' ...
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

解决方法,安装libaio.so.1;但yum install libaio.so.1默认是安装libaio.i686 0:0.3.107-10.el6,是32位的。

64位系统安装:

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

2. Selinux或防火墙没有关闭

getenforce 确认是不是enable

查询mysql错误代码:perror xxx

3. 权限问题

ls -l /data/mysql/mysql3306

4. datadir非空

ls -l /data/mysql/mysql3306/data

5. 磁盘空间不够

df -h

6. 参数错误

cat /data/mysql/mysql3306/error.log | grep -i err

7. 读取不正确的配置文件

多个不同的目录下有my.cnf文件,而mysql会从几个地方读取该文件,从而造成读取不是预想中或是不正确的配置文件。

8. windows的配置文件直接复制过来的文件,可能存在BOM或换行符问题

dos2unix

启动故障

1. 参数问题

2. 多个实例使用一份数据

innoDB: Unable to lock ./ibdata1, error: 11

如果不小心开了两个同一个端口的mysql,如何关闭其中一个?

  1. ps aux|grep mysql,查看启动时间,kill掉后面那个。
  2. 查看pid文件。

3. 端口号被占用

[ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
[ERROR] Do you already have another mysqld server running on port: 3306?

分析故障方法

  1. 查看error log
  2. 把日志打开
  3. 利用mysqld手工启动查看
  4. 利用strace
strace /usr/local/mysql/bin/mysqld 2>&1 | tee 1.log

比如要了解mysql加载配置文件的过程,在vim 1.log下查找my.cnf

MariaDB初始化和启动故障的更多相关文章

  1. Solr初始化源码分析-Solr初始化与启动

    用solr做项目已经有一年有余,但都是使用层面,只是利用solr现有机制,修改参数,然后监控调优,从没有对solr进行源码级别的研究.但是,最近手头的一个项目,让我感觉必须把solrn内部原理和扩展机 ...

  2. MariaDB 安装与启动 过程记录

    1. 安装之前的准备工作 rpm -qa |grep mysql rpm -qa |grep mariadb 按照查出来的软件包使用  yum remove  全部卸载,当然也可以 yum remov ...

  3. [svc]mount命令及解决因/etc/fstab错误导致系统不能启动故障

    mount命令-手动挂载设备 格式: mount [options] [-t fstype] [-o option] 设备 挂载点 mount -n -o remount,rw / - Mount t ...

  4. Hadoop源码学习笔记之NameNode启动场景流程四:rpc server初始化及启动

    老规矩,还是分三步走,分别为源码调用分析.伪代码核心梳理.调用关系图解. 一.源码调用分析 根据上篇的梳理,直接从initialize()方法着手.源码如下,部分代码的功能以及说明,已经在注释阐述了. ...

  5. 一次vm 虚拟机时间倒流而导致的oracle 数据库启动故障

    一次vm 虚拟机时间倒流而导致的oracle 数据库启动故障 本文是原创文章.若转载请注明出处: http://blog.csdn.net/msdnchina/article/details/3878 ...

  6. mariaDB 安装/卸载+启动/关闭 服务

    1.设置环境变量 无论是用户环境变量还是系统环境变量 2.启动服务 进入根目录 名字根据 --install 后的 参数来决定 叫MariaDB,MySQL 都可以 mysqld.exe --inst ...

  7. Linux系统无法启动故障解决方案

    Linux系统无法启动故障解决方案 2011-09-27 09:42 佚名 比特网 我要评论(0) 字号:T | T 不管你多么喜爱你的Linux系统机器,有时候你都必须恢复你的系统.是的,即使一台L ...

  8. CentOS 6或7 启动故障修复及root密码破解

    CentOS 6或7 启动故障修复及root密码破解 目录 CentOS 6或7 启动故障修复及root密码破解 CentOS 6启动流程修复: 实验一:删除initramfs-2.6.32-754. ...

  9. Nucleus SE RTOS初始化和启动

    Nucleus SE RTOS初始化和启动 Nucleus SE RTOS initialization and start-up 对于任何类型的操作系统,都有某种类型的启动机制.具体的工作方式因系统 ...

随机推荐

  1. [Servlet]什么是Servlet

    什么是Servlet Servlet是JavaEE三大组建之中的一个,是使用Java语言编写server端的程序,主要用来处理Web应用程序中的请求-响应. Servlet并没有main之类的执行方法 ...

  2. Xilinx Platform Usb Cable

    Key Features High-performance FPGA configuration and PROM/CPLD programming Includes innovative FPGA- ...

  3. Windows程序的打包,部署(vs项目打包vs2013)---ShinePans

    Windows 应用程序在开发完毕之后,怎样将程序打包并制作成安装程序在客户机上部署 是每一个windows应用程序开发完毕之后都必须面对的问题. 学习目标:                    部 ...

  4. Delphi7 中使用FastMM 转载

    http://blog.csdn.net/cai5/article/details/17142697 Delphi7 中使用FastMM 在工程的第一行引用FastMM4即可(注意,一定要在第一个Us ...

  5. C#程序集系列08,设置程序集版本

    区别一个程序集,不仅仅是程序集名称,还包括程序集版本.程序集公匙.程序集文化等,本篇体验通过界面和编码设置程序集版本. □ 通过Visual Studio设置程序集版本 →右键项目,选择"属 ...

  6. MVC实现多选下拉框,保存并显示多选项

    在"MVC实现多选下拉框"中,主要是多选下拉框的显示,而实际情况通常是:选择多个选项提交后,需要在编辑页把所有选中的项显示出来. 模拟这样的一个场景:一个车迷可能有多个自己喜欢的汽 ...

  7. 使用docker exec命令

    这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下   docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 / ...

  8. Canvas控件最后一蛋——CanvasGroup

    Canvas Group可以用来控制一组不需要个别控制的UI元素的某些方面,CanvasGroup的属性会影响他所有children的GameObject 其中有四个选项: -Alpha:这个选项很多 ...

  9. Rete算法

    RETE算法介绍一. rete概述Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关.Rete是拉丁文,对应英文是net,也就是网络.Rete算法通过形成一个rete网络进行模式匹配,利 ...

  10. 使用 UIFontWDCustomLoader 载入自定义字体

    UIFontWDCustomLoader https://github.com/daktales/UIFontWDCustomLoader You can use UIFontWDCustomLoad ...