• MariaDB初始化和启动故障


    初始化故障排查

    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

  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/fishparadise/p/9069762.html
Copyright © 2020-2023  润新知