关键词搜索

源码搜索 ×
×

mysq启动失败

发布2021-07-14浏览568次

详情内容

一、一站式解决
1. 问题分析定位
# 找到MySQL的配置文件,复制mysql的数据目录
vim /etc/my.cnf

# 进入msyql的数据目录
cd /data/mysql

# 查看日志文件
vim mysql.err
    [ERROR] The server_uuid stored in auto.cnf file is not a valid UUID.
    [ERROR] Initialization of the server's UUID failed because it could not be read from the auto.cnf file. If this is a new server, the initialization failed because it was not possible to generate a new UUID.
    [ERROR] Aborting
    
    • 1
    • 2
    • 3

    从上面日志可以看出,是我的uuid不符合校验,由于我是同一个虚拟机复制的,导致uuid以这样了,修改uuid的值即可

    解决方案

    find / -iname "auto.cnf"
    
    vim /data/mysql/auto.cnf
    
    # 原内容
    [auto]
    server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1f
    
    # 调整后内容,自定义即可,把最后一位f替换为a
    [auto]
    server-uuid=64cbb3d1-e150-11eb-81a2-000c2972fe1a
    
    
    # 重新启动mysql
    # centos7.x
    systemctl restart mysql
    
    # centos6.x
    service myqld restart
    
      9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    二、特殊场景
    2.1. 问题分析定位

    一般出现这汇总情况就是mysql根目录下面的mysql.pid因为故障原因没了。

    cd /data/mysql
    ll
    
    • 1
    • 2
    2.2. 解决方案

    把mysql.pid恢复即可,如果恢复不了,九新建一个名称为mysql.pid的文件,添加mysql运行的pid即可,这个pid在mysql.sock.lock文件中,首先找到mysql.sock.lock的位置。

    # 查找my.cnf
    find / -iname "my.cnf"
    
    # 查看文件内容
    cat /etc/my.cnf
    
    # 找到my.cnf文件的这一行
    socket=/tmp/mysql.sock
    
    # 进入到/tmp/
    cd /tmp/
    
    # 查看文件的内容
    cat mysql.sock.lock
    
      9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    # mysql.sock.lock文件中的9136这个数字就是mysql的运行的pid
    # 在mysql的根目录下面创建mysql.pid
    vim mysql.pid
    
    # 把刚才的 mysql.sock.lock文件中的9136添加进去# 重启mysql
    systemctl restart mysql
    
    # 查看mysql状态
    systemctl status mysql
    
      9
    • 10
    • 11
    • 12
    2.3. 解决方案2

    这是一种特殊情况,mysql.sock.lock和mysql.pid文件都没有怎么办呢?

    # 查找my.cnf
    find / -iname "my.cnf"
    
    # 查看文件内容
    cat /etc/my.cnf
    
    # 找到my.cnf文件的这一行
    socket=/tmp/mysql.sock
    
    # 进入到/tmp/
    cd /tmp/
    
    # 查看文件的内容
    vim mysql.sock.lock
    
    # 添加一个现系统中,没有用到的pid,如果不知道怎么查,那就随机一个4位数的数字,添加进去。比如说9137
    
    # 在mysql的根目录下面创建mysql.pid
    vim mysql.pid
    
    # 将刚才的mysql.sock.lock文件中的0137,添加到mysql.pid文件中,只要保持一致即可
    # 重启mysql
    systemctl restart mysql
    
    # 查看mysql状态
    systemctl status mysql
    
      9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载