mysq啟動失敗問題及場景分析

一、一站式解決

 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

從上面日志可以看出,是我的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

二、特殊場景

2.1. 問題分析定位

一般出現這匯總情況就是mysql根目錄下面的mysql.pid因為故障原因沒瞭。

cd /data/mysql
ll

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

在這裡插入圖片描述

# mysql.sock.lock文件中的9136這個數字就是mysql的運行的pid
# 在mysql的根目錄下面創建mysql.pid
vim mysql.pid

# 把剛才的 mysql.sock.lock文件中的9136添加進去
略

# 重啟mysql
systemctl restart mysql

# 查看mysql狀態
systemctl status mysql

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

到此這篇關於mysq啟動失敗問題及解決方法的文章就介紹到這瞭,更多相關mysq啟動失敗內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: