編譯安裝的Mysql5.7報“Couldn‘t find MySQL server (mysqld_safe)“的原因 筆記250709

編譯安裝的Mysql5.7報"Couldn’t find MySQL server (mysqld_safe)"的原因 筆記250709

MySQL 的安裝路徑與配置文件(如 my.cnf 或 mysql.server)中指定的 basedir 不一致。
mysqld_safe 文件實際位置與系統查找路徑不匹配(常見于自定義安裝路徑)。

編譯配置中,多次指定 basedir 和 data 的位置, 并且位置出現差異

















1?? 參考 1

編譯安裝MySQL 5.7報"Couldn’t find MySQL server (mysqld_safe)"的原因及解決方案

一、核心原因分析

  1. 路徑配置錯誤

    • 自定義安裝路徑未正確配置:編譯安裝時,用戶通過--prefix參數指定了非標準路徑(如/usr/local/mysql),但未在配置文件(如my.cnf)或啟動腳本中正確設置basedir,導致系統無法定位mysqld_safe文件。
    • 啟動腳本路徑硬編碼:系統服務腳本(如/etc/init.d/mysql)或手動編寫的啟動命令中,mysqld_safe的路徑與實際安裝路徑不一致。
  2. 文件缺失或權限問題

    • 編譯安裝失敗:安裝過程中可能因依賴缺失或編譯錯誤導致mysqld_safe文件未生成。
    • 文件權限不足:MySQL安裝目錄或文件的權限未正確設置,導致系統無法訪問mysqld_safe
  3. 環境變量未配置

    • PATH環境變量缺失:系統環境變量PATH未包含MySQL的bin目錄,導致無法直接調用mysqld_safe等可執行文件。

二、解決方案

1. 驗證mysqld_safe文件路徑

  • 查找文件實際位置
    find / -name mysqld_safe 2>/dev/null
    
    • 常見編譯安裝路徑:/usr/local/mysql/bin/mysqld_safe(若通過--prefix=/usr/local/mysql安裝)。

2. 檢查并修復配置文件

  • 編輯MySQL配置文件(如/etc/my.cnf/usr/local/mysql/etc/my.cnf):
    [mysqld]
    basedir=/usr/local/mysql  # 替換為實際安裝路徑
    datadir=/usr/local/mysql/data
    
  • 修復啟動腳本路徑
    編輯系統服務腳本(如/etc/init.d/mysql),確保basedirmysqld_safe路徑正確:
    basedir=/usr/local/mysql  # 替換為實際路徑
    mysqld_safe="${basedir}/bin/mysqld_safe"
    

3. 創建符號鏈接(如路徑錯誤)

  • 若文件存在于非標準路徑,創建符號鏈接到系統預期位置:
    ln -s /實際/路徑/bin/mysqld_safe /usr/local/bin/mysqld_safe
    

4. 設置文件權限

  • 確保MySQL用戶擁有所有權
    chown -R mysql:mysql /usr/local/mysql  # 替換為實際路徑
    
  • 賦予mysqld_safe執行權限
    chmod +x /usr/local/mysql/bin/mysqld_safe  # 替換為實際路徑
    

5. 配置環境變量

  • 將MySQL的bin目錄添加到PATH
    編輯~/.bashrc/etc/profile,添加以下內容:
    export PATH=$PATH:/usr/local/mysql/bin  # 替換為實際路徑
    
  • 使配置生效
    source ~/.bashrc  # 或 source /etc/profile
    

6. 重新安裝MySQL(如文件缺失)

  • 清理殘留文件后重新編譯安裝
    make clean
    ./configure --prefix=/usr/local/mysql  # 替換為自定義路徑
    make && make install
    

7. 啟動服務并驗證

  • 手動啟動MySQL以測試路徑配置
    /usr/local/mysql/bin/mysqld_safe --user=mysql &  # 替換為實際路徑
    
  • 檢查錯誤日志定位問題
    tail -f /usr/local/mysql/data/hostname.err  # 替換為實際日志路徑
    

三、預防措施

  1. 統一安裝路徑

    • 編譯安裝時,建議將MySQL安裝在/usr/local/mysql等標準路徑,減少路徑配置問題。
    • 使用包管理器(如aptyum)安裝時,優先采用默認路徑(如/usr/bin/mysqld_safe)。
  2. 驗證安裝完整性

    • 安裝完成后,通過find命令確認mysqld_safe等關鍵文件是否存在。
  3. 定期檢查配置

    • 每次更新MySQL或修改配置后,驗證basedirdatadir是否與實際路徑一致。

通過以上步驟,可系統性解決編譯安裝MySQL 5.7時因路徑錯誤或文件缺失導致的“Couldn’t find MySQL server (mysqld_safe)”問題。

















2?? 參考 2

在編譯安裝 MySQL 5.7 時出現 “Couldn’t find MySQL server (mysqld_safe)” 的錯誤,通常是由于以下原因導致的:


1. 安裝路徑未正確配置

  • 問題表現:MySQL 的安裝路徑未正確配置,導致啟動腳本(如 mysql.serversystemd 服務文件)無法找到 mysqld_safe 可執行文件。
  • 解決方法
    • 確認 mysqld_safe 的實際路徑是否存在:
      find /usr/local/mysql/bin/ -name mysqld_safe
      
    • 如果路徑與配置文件或服務文件中指定的路徑不一致,需修改服務文件或環境變量:
      • 修改 systemd 服務文件(例如 /etc/systemd/system/mysqld.service):
        ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
        
      • 設置環境變量(臨時生效):
        export PATH=/usr/local/mysql/bin:$PATH
        

2. 缺少 mysqld_safe 文件

  • 問題表現:編譯安裝時未正確生成 mysqld_safe 腳本。
  • 解決方法
    • 檢查編譯安裝步驟是否完整:
      • 編譯時是否執行了 makemake install
      • mysqld_safe 是否存在于 /usr/local/mysql/bin/ 目錄?
    • 如果缺失,重新編譯并確保生成:
      cd mysql-5.7.44/build
      make clean
      make -j$(nproc)
      sudo make install
      

3. 權限問題

  • 問題表現mysqld_safe 或數據目錄權限不足。
  • 解決方法
    • 確保 mysql 用戶對安裝目錄和數據目錄有讀寫權限:
      sudo chown -R mysql:mysql /usr/local/mysql
      sudo chown -R mysql:mysql /var/lib/mysql
      

4. 配置文件錯誤

  • 問題表現my.cnf 中的 basedirdatadir 配置錯誤。
  • 解決方法
    • 檢查 /etc/my.cnf/etc/mysql/my.cnf 配置文件:
      [mysqld]
      basedir = /usr/local/mysql
      datadir = /var/lib/mysql
      
    • 確保配置中的路徑與實際安裝路徑一致。

5. 服務啟動腳本缺失

  • 問題表現:未正確配置 systemdinit.d 啟動腳本。
  • 解決方法
    • 使用 systemd 啟動
      • 創建 /etc/systemd/system/mysqld.service 文件,內容如下:
        [Unit]
        Description=MySQL Server
        After=network.target[Service]
        User=mysql
        Group=mysql
        ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
        Restart=on-failure[Install]
        WantedBy=multi-user.target
        
      • 重新加載 systemd 配置并啟動服務:
        sudo systemctl daemon-reload
        sudo systemctl start mysqld
        sudo systemctl enable mysqld
        

6. 初始化數據庫失敗

  • 問題表現:未正確初始化數據目錄,導致 mysqld_safe 無法啟動。
  • 解決方法
    • 確保已正確初始化數據庫:
      sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
      
    • 如果已初始化但仍有問題,嘗試手動刪除數據目錄并重新初始化:
      sudo rm -rf /var/lib/mysql/*
      sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
      

7. 缺少依賴庫

  • 問題表現mysqld_safe 依賴的某些庫缺失。
  • 解決方法
    • 檢查依賴庫是否安裝:
      ldd /usr/local/mysql/bin/mysqld | grep "not found"
      
    • 安裝缺失的依賴(如 libaioopenssl 等):
      sudo apt install -y libaio1 libssl1.1
      

8. 日志排查

  • 查看錯誤日志
    • 默認日志路徑為 /var/lib/mysql/hostname.err,檢查是否有詳細錯誤信息:
      tail -n 100 /var/lib/mysql/$(hostname).err
      

總結

可能原因解決方法
安裝路徑不正確修改 my.cnfsystemd 服務文件中的路徑
mysqld_safe 文件缺失重新編譯安裝 MySQL
權限不足確保 mysql 用戶對安裝目錄和數據目錄有權限
配置文件錯誤檢查 my.cnf 中的 basedirdatadir
服務啟動腳本缺失手動創建 systemdinit.d 啟動腳本
數據庫未初始化使用 mysqld --initialize-insecure 初始化數據目錄
依賴庫缺失安裝缺失的依賴(如 libaio1libssl1.1

驗證安裝

完成上述步驟后,驗證 MySQL 是否能正常啟動:

sudo systemctl status mysqld

如果服務啟動成功,可以通過以下命令登錄 MySQL:

/usr/local/mysql/bin/mysql -u root

如果仍有問題,請提供錯誤日志(/var/lib/mysql/hostname.err)以進一步排查。

















3?? 參考 3

“Couldn’t find MySQL server (mysqld_safe)” 錯誤通常發生在嘗試啟動 MySQL 服務時,mysqld_safe 腳本無法定位 mysqld 可執行文件。以下是常見原因及解決方案:

主要原因分析:

  1. 路徑配置錯誤
    • basedir 設置不正確
    • mysqld 可執行文件不在預期位置
  2. 安裝不完整
    • 編譯安裝過程未完成或失敗
  3. 權限問題
    • mysql 用戶無權訪問關鍵目錄
  4. 配置文件問題
    • my.cnf 配置錯誤或未被正確加載

解決方案步驟:

1. 驗證 mysqld 是否存在
# 檢查編譯安裝位置
sudo find /usr/local/mysql -name mysqld# 預期輸出類似:
# /usr/local/mysql/bin/mysqld

如果不存在,說明編譯安裝失敗,需重新安裝。

2. 檢查配置文件路徑
sudo vim /etc/my.cnf

確保包含 正確路徑

[mysqld]
basedir=/usr/local/mysql  # 必須與編譯時的CMAKE_INSTALL_PREFIX一致
datadir=/mysql-data       # 你的數據目錄
3. 修復啟動腳本路徑

編輯 Systemd 服務文件或 init 腳本:

# 對于Systemd
sudo vim /etc/systemd/system/mysqld.service# 對于SysVinit
sudo vim /etc/init.d/mysqld

[Service] 部分添加:

Environment="PATH=/usr/local/mysql/bin:$PATH"
4. 設置環境變量(臨時測試)
export PATH=/usr/local/mysql/bin:$PATH
sudo -E /etc/init.d/mysqld start

如果此時能啟動,說明永久環境變量需要配置。

5. 檢查權限問題
sudo chown -R mysql:mysql /usr/local/mysql
sudo chown -R mysql:mysql /mysql-data
6. 驗證安裝完整性

檢查關鍵文件是否存在:

ls /usr/local/mysql/bin/mysqld      # 必須存在
ls /usr/local/mysql/bin/mysqld_safe # 必須存在
7. 手動啟動測試
sudo su - mysql
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

觀察控制臺輸出的具體錯誤。


高級故障排除:

查看 mysqld_safe 日志
sudo tail -n 100 /mysql-data/*.err

查找包含以下關鍵字的錯誤:

  • Cannot find mysqld
  • No such file or directory
  • paths not set
檢查庫文件依賴
ldd /usr/local/mysql/bin/mysqld

確保所有動態庫(特別是 libaio, libncurses)顯示為 found

重新鏈接二進制文件
cd /usr/local/mysql
sudo ln -sf /usr/local/mysql/bin/* /usr/bin/

最終驗證:

# 檢查環境
echo $PATH# 手動執行
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &# 查看進程
ps aux | grep mysqld

重要提示:如果所有方法均失敗,考慮:

  1. 重新編譯安裝(使用 make clean 先清理)
  2. 檢查編譯時是否缺少關鍵依賴:libaio-dev, libncurses5-dev
  3. 使用預編譯二進制包替代源碼編譯

通過以上步驟,90% 的 “Couldn’t find MySQL server” 錯誤都能得到解決。關鍵要確認 basedir 路徑一致且 mysqld 二進制文件實際存在并有執行權限。

















4?? 參考 4

當編譯安裝的 MySQL 5.7 出現 "Couldn't find MySQL server (mysqld_safe)" 錯誤時,通常是由于以下原因之一造成的:


主要原因及解決方案

1. 啟動腳本路徑配置錯誤
  • 問題mysqld_safe 腳本未找到,因為啟動腳本中 basedirdatadir 路徑配置錯誤
  • 解決
    1. 編輯啟動腳本:
      sudo nano /etc/init.d/mysqld
      
    2. 確認以下路徑指向實際安裝位置:
      basedir=/usr/local/mysql    # 編譯時指定的安裝路徑
      datadir=/usr/local/mysql/data  # 數據目錄路徑
      bindir="$basedir/bin"       # 必須包含 mysqld_safe
      
2. mysqld_safe 文件未正確安裝
  • 問題:編譯安裝后 mysqld_safe 未生成或安裝失敗
  • 檢查
    ls -l /usr/local/mysql/bin/mysqld_safe
    
  • 解決
    1. 重新執行安裝:
      cd /path/to/mysql-5.7.44/build
      sudo make install
      
    2. 確認文件權限:
      sudo chmod 755 /usr/local/mysql/bin/mysqld_safe
      
3. 關鍵依賴庫缺失
  • 問題:缺少 libtinfo 等依賴庫導致二進制文件無法運行
  • 檢查
    ldd /usr/local/mysql/bin/mysqld_safe | grep "not found"
    
  • 解決
    sudo apt install libtinfo5 libncurses5
    
4. 服務啟動順序問題
  • 問題:systemd 服務文件配置錯誤
  • 解決
    1. 創建 systemd 服務文件:
      sudo nano /etc/systemd/system/mysqld.service
      
    2. 添加以下內容:
      [Unit]
      Description=MySQL Server
      After=network.target[Service]
      User=mysql
      Group=mysql
      ExecStart=/usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data
      Restart=on-failure
      LimitNOFILE=65535[Install]
      WantedBy=multi-user.target
      
    3. 重載并啟動:
      sudo systemctl daemon-reload
      sudo systemctl start mysqld
      
5. 環境變量問題
  • 問題:PATH 未包含 MySQL 的 bin 目錄
  • 解決
    echo 'export PATH=/usr/local/mysql/bin:$PATH' | sudo tee /etc/profile.d/mysql.sh
    source /etc/profile
    
6. 數據目錄權限錯誤
  • 問題:mysql 用戶無權訪問目錄
  • 解決
    sudo chown -R mysql:mysql /usr/local/mysql
    sudo chmod -R 755 /usr/local/mysql/data
    

完整排查步驟

# 1. 檢查 mysqld_safe 是否存在
ls -l /usr/local/mysql/bin/mysqld_safe# 2. 檢查文件依賴
ldd /usr/local/mysql/bin/mysqld_safe# 3. 檢查啟動腳本配置
grep -E 'basedir|datadir|bindir' /etc/init.d/mysqld# 4. 手動測試啟動
sudo -u mysql /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --log-error=/tmp/mysql-start.log &# 5. 查看錯誤日志
tail -f /usr/local/mysql/data/*.err

特殊案例解決方案

案例 1:編譯時缺少依賴
# 重新編譯前清理舊構建
cd mysql-5.7.44/build
make clean
rm CMakeCache.txt# 添加關鍵選項重新配置
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_SYSTEMD=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system# 重新編譯安裝
make -j$(nproc)
sudo make install
案例 2:符號鏈接問題
# 創建必要的符號鏈接
sudo ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/libtinfo.so.5

關鍵注意事項

  1. 編譯選項確認

    # 查看編譯時使用的參數
    cat /usr/local/mysql/bin/mysqlbug | grep "Configured with"
    
  2. 安全啟動建議

    # 始終使用 mysql 用戶啟動
    sudo -u mysql /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
    
  3. 備選啟動方式

    # 直接使用 mysqld 啟動
    sudo -u mysql /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    

通過以上步驟,95% 的 "Couldn't find MySQL server (mysqld_safe)" 錯誤都能解決。如果問題仍然存在,建議檢查編譯日志 CMakeCache.txtmake 輸出是否有警告信息。

















5?? 參考 5

在編譯安裝MySQL 5.7過程中遇到"Couldn’t find MySQL server (mysqld_safe)"錯誤,通常是由于路徑配置不正確、文件缺失或權限問題導致的。以下是可能的原因及解決方案:

一、可能的原因

  1. 二進制文件未正確安裝
    mysqld_safe 腳本未被正確編譯或安裝到指定目錄。

  2. 系統路徑未包含MySQL目錄
    系統無法在 PATH 環境變量中找到 mysqld_safe 的位置。

  3. 文件權限不足
    當前用戶沒有執行 mysqld_safe 的權限。

  4. 符號鏈接缺失
    MySQL命令未被軟鏈接到系統常用目錄(如 /usr/bin)。

  5. 編譯配置問題
    CMake配置時未正確指定安裝路徑。

二、解決方案

1. 確認 mysqld_safe 文件存在

檢查MySQL安裝目錄下是否存在 mysqld_safe 腳本:

find /usr/local/mysql -name "mysqld_safe"

如果未找到,可能是編譯過程中出現問題,需重新編譯并確保安裝成功。

2. 手動添加MySQL路徑到環境變量

臨時添加路徑:

export PATH=$PATH:/usr/local/mysql/bin

永久添加(編輯 ~/.bashrc/etc/profile):

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc
3. 創建符號鏈接到系統目錄
sudo ln -s /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
4. 檢查文件權限

確保 mysqld_safe 腳本可執行:

chmod +x /usr/local/mysql/bin/mysqld_safe
5. 使用絕對路徑執行

直接使用完整路徑啟動服務:

/usr/local/mysql/bin/mysqld_safe --user=mysql &
6. 重新編譯安裝(若文件缺失)

如果確認 mysqld_safe 未被安裝,需重新編譯并指定正確路徑:

cd mysql-5.7.44  # 源碼目錄
make clean  # 清理舊編譯文件
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql ...  # 重復之前的cmake配置
make -j$(nproc)
sudo make install
7. 使用 systemd 服務替代 mysqld_safe

mysqld_safe 持續報錯,可直接配置 systemd 服務:

sudo tee /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
Restart=always
LimitNOFILE=10000[Install]
WantedBy=multi-user.target
EOFsudo systemctl daemon-reload
sudo systemctl start mysqld

三、驗證安裝

mysql -u root -p -e "SELECT VERSION();"

若仍報錯,檢查 MySQL 錯誤日志:

cat /usr/local/mysql/data/$(hostname).err

四、常見錯誤排查

  • 缺少依賴:確保所有編譯依賴已安裝(如 libncurses5-dev)。
  • 端口沖突:檢查 MySQL 默認端口 3306 是否被占用。
  • SELinux/AppArmor 限制:臨時禁用或配置安全模塊允許 MySQL 運行。

通過以上步驟,應該能解決"Couldn’t find MySQL server (mysqld_safe)"錯誤并成功啟動 MySQL 服務。

















6?? 參考 6

編譯安裝 MySQL 5.7 報 “Couldn’t find MySQL server (mysqld_safe)” 的原因及解決方案如下:

常見原因

  • 路徑配置錯誤 :MySQL 的安裝路徑、數據目錄等配置與實際不符,如在配置文件 /etc/my.cnf 或啟動腳本 /etc/init.d/mysql 中指定的 basedirdatadir 路徑不正確,導致系統無法找到 mysqld_safe 文件。
  • 文件權限問題 :MySQL 相關文件或目錄的權限設置不當,如 mysqld_safe 文件沒有執行權限,或數據目錄、配置文件等的權限不允許 MySQL 用戶訪問。
  • 環境變量未配置 :未將 MySQL 的 bin 目錄添加到系統的環境變量中,使得系統無法識別 mysqld_safe 命令。
  • 配置文件沖突或缺失 :系統中存在多個 MySQL 配置文件,或配置文件損壞、缺失,導致 MySQL 啟動時加載了錯誤的配置。
  • 安裝過程不完整 :在編譯安裝過程中,某些步驟未正確執行,如未成功安裝所有必要的文件和目錄,或未正確創建符號鏈接等。

解決方案

  • 檢查并修正配置文件

    • 找到 MySQL 的配置文件,一般位于 /etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf 等位置。打開配置文件,檢查 [mysqld] 部分下的 basedirdatadir 選項,確保其指向正確的 MySQL 安裝路徑和數據目錄。例如,如果 MySQL 安裝在 /usr/local/mysql,數據目錄為 /data/mysql,則配置應為:
    • [mysqld]
      basedir = /usr/local/mysql
      datadir = /data/mysql
      
    • 同時,在 [client][mysql] 部分,檢查 socket 選項是否正確,應與 mysqld 中的 socket 路徑一致,通常為 /tmp/mysql.sock/var/run/mysql/mysql.sock
  • 設置正確的文件權限

    • 確保 MySQL 安裝目錄及其所有文件和子目錄的屬主和屬組均為 mysql 用戶和組。可使用命令 chown -R mysql:mysql /usr/local/mysql(假設 MySQL 安裝在 /usr/local/mysql)進行設置。
    • 給予 mysqld_safe 文件執行權限,命令為 chmod +x /usr/local/mysql/bin/mysqld_safe
  • 配置環境變量

    • 將 MySQL 的 bin 目錄添加到系統的環境變量中。編輯 /etc/profile 文件或用戶家目錄下的 .bashrc 文件,添加如下內容:
    • export PATH=/usr/local/mysql/bin:$PATH
      
    • 保存后執行 source /etc/profilesource ~/.bashrc 使環境變量生效。
  • 檢查并清理沖突配置

    • 查看系統中是否存在其他 MySQL 配置文件或殘留的 MySQL 安裝。可通過命令 find / -name my.cnf 查找所有相關的配置文件,如果存在多個,可將正確的配置文件備份并重命名為其他名稱,如 my.cnf.bak,然后重新啟動 MySQL 服務查看是否能正常啟動。
  • 重新安裝或修復安裝

    • 如果上述方法均無法解決問題,可嘗試重新安裝 MySQL。在重新安裝前,確保徹底清理之前的安裝文件和數據目錄,然后重新按照正確的步驟進行編譯安裝。在安裝過程中,仔細檢查每一步的輸出,確保沒有錯誤發生。

















7?? 參考 7

編譯安裝 MySQL 5.7 報錯 “Couldn’t find MySQL server (mysqld_safe)” 的原因及解決方法

您遇到的錯誤 Couldn't find MySQL server (mysqld_safe) 通常發生在編譯安裝 MySQL 5.7 后啟動服務時。這表示系統無法找到關鍵文件 mysqld_safe(MySQL 的安全啟動腳本)。下面我將逐步解釋原因并提供完整解決方案,確保回答基于實際安裝經驗和參考信息。整個過程需在 Linux 環境下操作(如 CentOS 或 Ubuntu),并以 root 用戶或 sudo 權限執行。

錯誤原因分析

該錯誤主要由以下原因引起:

  1. 文件路徑配置錯誤:編譯安裝時,MySQL 的 basedir(基礎安裝目錄)或 datadir(數據目錄)設置不正確,導致系統無法定位 mysqld_safe。該文件通常位于 $basedir/bin/ 目錄下。例如,如果您的安裝目錄是 /usr/local/mysql,則 mysqld_safe 應存在于 /usr/local/mysql/bin/mysqld_safe。如果路徑錯誤或文件缺失,啟動腳本會失敗。
  2. 文件權限問題:MySQL 服務需要以 mysql 用戶身份運行。如果 basedirbin 目錄的權限未正確設置,mysql 用戶無法訪問 mysqld_safe,從而觸發錯誤。
  3. 未初始化數據庫:在首次啟動前,必須初始化 MySQL 的數據目錄。如果跳過這一步,系統找不到必要的服務文件,包括 mysqld_safe
  4. 安裝包不完整:編譯過程中可能因網絡中斷或依賴缺失導致文件未完全生成,尤其是 mysqld_safe 缺失。
完整解決方案

遵循以下步驟解決錯誤。假設您的 MySQL 安裝目錄為 /usr/local/mysql(根據實際情況替換路徑)。操作前備份重要數據

  1. 檢查文件是否存在和路徑配置

    • 確認 mysqld_safe 文件是否存在于安裝目錄的 bin 子目錄下:
      ls /usr/local/mysql/bin/mysqld_safe
      
      如果文件不存在,說明安裝不完整,需重新安裝或修復(見步驟 4)。如果存在,檢查路徑是否正確:確保 MySQL 的啟動腳本(如 /etc/init.d/mysql)中 basedir 設置正確。編輯啟動腳本:
      vi /etc/init.d/mysql
      
      找到類似 basedir=/usr/local/mysql 的行,確保路徑與實際安裝目錄一致。
  2. 設置正確的文件和目錄權限

    • 將安裝目錄的所有權賦予 mysql 用戶和組,并設置可執行權限:
      groupadd mysql  # 如果未創建 mysql 組
      useradd -r -g mysql -s /bin/false mysql  # 創建 mysql 用戶
      chown -R mysql:mysql /usr/local/mysql  # 遞歸修改所有權
      chmod -R 755 /usr/local/mysql/bin  # 確保 bin 目錄可執行
      
      這解決了權限不足導致文件無法訪問的問題。
  3. 初始化 MySQL 數據庫

    • 在首次啟動前,必須初始化數據目錄。使用 mysqld 命令指定 basedirdatadir(數據目錄默認在 $basedir/data):
      /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
      
      初始化會生成臨時 root 密碼(查看日志文件獲取)。如果成功,系統會創建必要的文件,包括 mysqld_safe 的依賴。
  4. 修復文件缺失(重新安裝或下載)

    • 如果 mysqld_safe 缺失,建議重新下載 MySQL 5.7 二進制包并解壓到正確目錄。使用 wget 和 tar 快速下載并解壓:
      wget -qO- https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz | tar -xzv -C /usr/local
      mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql  # 重命名為標準目錄
      
      然后重復步驟 2 和 3 設置權限和初始化。
  5. 啟動 MySQL 服務

    • 完成以上步驟后,啟動服務:
      /etc/init.d/mysql start
      
      或使用 systemd(如果適用):
      systemctl start mysql
      
      如果一切正常,服務應成功啟動。使用 mysql -u root -p 登錄驗證。
驗證和注意事項
  • 驗證成功:運行 service mysql status,應顯示 “active (running)”。
  • 常見陷阱:確保環境變量 PATH 包含 MySQL 的 bin 目錄(添加 export PATH=$PATH:/usr/local/mysql/bin~/.bashrc)。
  • 預防措施:編譯安裝時嚴格遵循官方文檔,使用完整下載包避免文件缺失。初始化是必須步驟,不可跳過。

如果問題仍存在,檢查日志文件(如 /var/log/mysqld.log)獲取詳細錯誤信息。大多數情況下,上述步驟能徹底解決該錯誤。

















8?? 參考 8

以下是編譯安裝 MySQL 5.7 時出現 “Couldn’t find MySQL server (mysqld_safe)” 錯誤的根本原因及完整解決方案,綜合多個技術文檔整理而成:


🔍 一、核心原因分析

  1. mysqld_safe 文件缺失或未生成

    • 編譯安裝時,部分腳本(如 mysqld_safe)可能因編譯參數或依賴問題未正確生成。
    • 典型表現/usr/local/mysql/bin/ 目錄下無 mysqld_safe 文件。
  2. 路徑配置錯誤

    • mysql.server 啟動腳本中的 basedirdatadir 未指向實際安裝路徑。
    • 示例錯誤:配置為 /home/soft/mysql-5.7,但實際安裝路徑為 /usr/local/mysql
  3. 權限問題

    • mysql 用戶無權訪問安裝目錄或 mysqld_safe 文件。
    • 常見場景:手動復制文件后未修復權限(如 chown 未執行)。
  4. 依賴庫缺失

    • 編譯時缺少關鍵庫(如 libaio),導致 mysqldmysqld_safe 無法運行。

🛠? 二、完整解決方案

? 方案 1:手動補全 mysqld_safe 文件(推薦)

適用場景:編譯安裝后 bin/ 目錄缺少 mysqld_safe

  1. 從二進制包提取文件
    # 下載 MySQL 5.7.44 二進制包
    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
    tar -xzvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
    
  2. 復制文件到編譯安裝目錄
    cp mysql-5.7.44-linux-glibc2.12-x86_64/bin/mysqld_safe /usr/local/mysql/bin/
    chown mysql:mysql /usr/local/mysql/bin/mysqld_safe  # 修復歸屬
    chmod 755 /usr/local/mysql/bin/mysqld_safe          # 賦予執行權限
    
? 方案 2:修正路徑配置

適用場景:啟動腳本中路徑錯誤。

  1. 編輯啟動腳本(如 /etc/init.d/mysql):
    vi /etc/init.d/mysql
    
  2. 修正關鍵參數
    basedir=/usr/local/mysql          # 必須與實際安裝路徑一致
    datadir=/var/lib/mysql            # 數據目錄需存在且可讀寫
    
  3. 重啟服務:
    systemctl daemon-reload && systemctl restart mysql
    
? 方案 3:修復權限與依賴

適用場景:文件權限不足或依賴庫缺失。

  • 修復目錄權限
    chown -R mysql:mysql /usr/local/mysql   # 遞歸修復歸屬
    chmod -R 755 /usr/local/mysql/bin/       # 確保可執行權限
    
  • 安裝依賴庫
    apt install libaio1 libncurses5 libtinfo5  # Debian/Ubuntu
    yum install libaio ncurses-compat-libs     # CentOS/Rocky
    
  • 檢查動態庫鏈接
    ldd /usr/local/mysql/bin/mysqld | grep "not found"  # 定位缺失庫
    
?? 方案 4:替代啟動方案

適用場景mysqld_safe 仍不可用。

  1. 直接啟動 mysqld
    /usr/local/mysql/bin/mysqld --user=mysql --datadir=/var/lib/mysql &
    
  2. 創建自定義啟動腳本(替代 mysqld_safe):
    cat > /usr/local/bin/mysqld_safe.sh <<EOF
    #!/bin/bash
    /usr/local/mysql/bin/mysqld --user=mysql --datadir=/var/lib/mysql &
    EOF
    chmod +x /usr/local/bin/mysqld_safe.sh
    
  3. 配置 Systemd 服務(更可靠):
    # /etc/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Server
    After=network.target[Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    Restart=on-failure[Install]
    WantedBy=multi-user.target
    
    啟用服務:
    systemctl daemon-reload && systemctl start mysqld
    

?? 三、預防措施

  1. 編譯前檢查依賴
    確保安裝所有依賴庫(libaio-devlibncurses-dev 等)。
  2. 驗證安裝完整性
    編譯后立即檢查 bin/ 目錄是否包含 mysqld_safe
  3. 使用二進制包安裝
    若需嚴格版本控制,建議直接使用二進制包而非編譯安裝。
  4. 日志排查
    通過 tail -f /var/lib/mysql/*.err 查看詳細錯誤原因。

💎 總結

問題根因優先解決方案
mysqld_safe 文件缺失從二進制包復制文件 + 修復權限
路徑配置錯誤修正 mysql.server 腳本
權限不足或依賴缺失chown + 安裝依賴庫
兼容性問題改用 systemd 服務管理

提示:MySQL 5.7 已結束官方支持,生產環境建議升級至 MySQL 8.0 或使用云數據庫服務。操作前務必備份數據!

















9?? 參考 9

編譯安裝 MySQL 5.7 報錯 “Couldn’t find MySQL server (mysqld_safe)” 的原因及解決方法

您遇到的錯誤 Couldn't find MySQL server (mysqld_safe) 通常發生在編譯安裝 MySQL 5.7 后啟動服務時。這表示系統無法找到關鍵文件 mysqld_safe(MySQL 的安全啟動腳本)。下面我將逐步解釋原因并提供完整解決方案,確保回答基于實際安裝經驗和參考信息。整個過程需在 Linux 環境下操作(如 CentOS 或 Ubuntu),并以 root 用戶或 sudo 權限執行。

錯誤原因分析

該錯誤主要由以下原因引起:

  1. 文件路徑配置錯誤:編譯安裝時,MySQL 的 basedir(基礎安裝目錄)或 datadir(數據目錄)設置不正確,導致系統無法定位 mysqld_safe。該文件通常位于 $basedir/bin/ 目錄下。例如,如果您的安裝目錄是 /usr/local/mysql,則 mysqld_safe 應存在于 /usr/local/mysql/bin/mysqld_safe。如果路徑錯誤或文件缺失,啟動腳本會失敗。
  2. 文件權限問題:MySQL 服務需要以 mysql 用戶身份運行。如果 basedirbin 目錄的權限未正確設置,mysql 用戶無法訪問 mysqld_safe,從而觸發錯誤。
  3. 未初始化數據庫:在首次啟動前,必須初始化 MySQL 的數據目錄。如果跳過這一步,系統找不到必要的服務文件,包括 mysqld_safe
  4. 安裝包不完整:編譯過程中可能因網絡中斷或依賴缺失導致文件未完全生成,尤其是 mysqld_safe 缺失。
完整解決方案

遵循以下步驟解決錯誤。假設您的 MySQL 安裝目錄為 /usr/local/mysql(根據實際情況替換路徑)。操作前備份重要數據

  1. 檢查文件是否存在和路徑配置

    • 確認 mysqld_safe 文件是否存在于安裝目錄的 bin 子目錄下:
      ls /usr/local/mysql/bin/mysqld_safe
      
      如果文件不存在,說明安裝不完整,需重新安裝或修復(見步驟 4)。如果存在,檢查路徑是否正確:確保 MySQL 的啟動腳本(如 /etc/init.d/mysql)中 basedir 設置正確。編輯啟動腳本:
      vi /etc/init.d/mysql
      
      找到類似 basedir=/usr/local/mysql 的行,確保路徑與實際安裝目錄一致。
  2. 設置正確的文件和目錄權限

    • 將安裝目錄的所有權賦予 mysql 用戶和組,并設置可執行權限:
      groupadd mysql  # 如果未創建 mysql 組
      useradd -r -g mysql -s /bin/false mysql  # 創建 mysql 用戶
      chown -R mysql:mysql /usr/local/mysql  # 遞歸修改所有權
      chmod -R 755 /usr/local/mysql/bin  # 確保 bin 目錄可執行
      
      這解決了權限不足導致文件無法訪問的問題。
  3. 初始化 MySQL 數據庫

    • 在首次啟動前,必須初始化數據目錄。使用 mysqld 命令指定 basedirdatadir(數據目錄默認在 $basedir/data):
      /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
      
      初始化會生成臨時 root 密碼(查看日志文件獲取)。如果成功,系統會創建必要的文件,包括 mysqld_safe 的依賴。
  4. 修復文件缺失(重新安裝或下載)

    • 如果 mysqld_safe 缺失,建議重新下載 MySQL 5.7 二進制包并解壓到正確目錄。使用 wget 和 tar 快速下載并解壓:
      wget -qO- https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz | tar -xzv -C /usr/local
      mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql  # 重命名為標準目錄
      
      然后重復步驟 2 和 3 設置權限和初始化。
  5. 啟動 MySQL 服務

    • 完成以上步驟后,啟動服務:
      /etc/init.d/mysql start
      
      或使用 systemd(如果適用):
      systemctl start mysql
      
      如果一切正常,服務應成功啟動。使用 mysql -u root -p 登錄驗證。
驗證和注意事項
  • 驗證成功:運行 service mysql status,應顯示 “active (running)”。
  • 常見陷阱:確保環境變量 PATH 包含 MySQL 的 bin 目錄(添加 export PATH=$PATH:/usr/local/mysql/bin~/.bashrc)。
  • 預防措施:編譯安裝時嚴格遵循官方文檔,使用完整下載包避免文件缺失。初始化是必須步驟,不可跳過。

如果問題仍存在,檢查日志文件(如 /var/log/mysqld.log)獲取詳細錯誤信息。大多數情況下,上述步驟能徹底解決該錯誤。

















🔟 參考 10


錯誤原因分析

當在編譯安裝 MySQL 5.7 過程中遇到 Couldn’t find MySQL server (mysqld_safe) 錯誤時,通常由以下幾個原因導致:

1. 安裝路徑配置錯誤
  • 通過 -DCMAKE_INSTALL_PREFIX 指定的安裝路徑與實際安裝路徑不一致。
  • mysqld_safe 腳本無法找到關鍵文件 mysqld(MySQL服務主程序)。
2. 編譯過程未完成
  • 如果編譯(make)或安裝(make install)步驟中斷,可能導致 mysqld 可執行文件未正確生成。
3. 缺少動態庫依賴
  • 若系統缺失依賴庫(如 libaio, libnuma 等),mysqld 文件可能無法運行。
4. 權限問題
  • 安裝目錄權限不足,導致 mysqld_safe 無法訪問 mysqld
5. 初始化流程未執行
  • 未通過 mysqld --initialize 初始化數據目錄,導致服務無法正常啟動。

解決方案步驟

步驟 1:驗證安裝路徑和文件

檢查 mysqld 是否存在于安裝路徑的 bin 目錄中:

ls /usr/local/mysql/bin/mysqld  # 替換為你的安裝路徑
  • 若文件不存在:需重新編譯安裝,檢查 CMake 日志和 make 步驟的報錯信息。
  • 若文件存在:檢查 mysqld_safe 腳本中的路徑配置。

步驟 2:檢查 mysqld_safe 腳本

打開 mysqld_safe 文件(通常位于安裝目錄的 bin 子目錄):

vi /usr/local/mysql/bin/mysqld_safe

確認以下參數指向正確路徑:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

步驟 3:修復動態庫依賴

安裝常見缺失的依賴庫:

# 對于 Debian/Ubuntu
sudo apt install libaio1 libnuma1# 對于 CentOS/RHEL
sudo yum install libaio numactl

驗證動態鏈接:

ldd /usr/local/mysql/bin/mysqld

確保所有依賴庫顯示為 found,而非 not found


步驟 4:手動指定路徑啟動

嘗試使用完整路徑啟動 mysqld

/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/usr/local/mysql/data &

步驟 5:修復文件權限

確保安裝目錄和數據目錄的權限正確:

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

步驟 6:重新初始化數據目錄
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 記錄生成的臨時 root 密碼。
  • 再次嘗試啟動服務。

步驟 7:重編譯并修復配置(終極方案)

如果上述步驟失敗,重新編譯安裝:

  1. 清理舊編譯文件:
    rm -rf /tmp/install/mysql/build/*
    cd /tmp/install/mysql/build
    
  2. 確保 CMake 包含關鍵參數:
    cmake .. \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_SYSTEMD=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1
    
  3. 重新編譯和安裝:
    make -j$(nproc)
    sudo make install
    

附加說明

  • 日志分析:檢查 /var/log/mysqld.log/usr/local/mysql/data/*.err 文件獲取詳細錯誤信息。
  • 防火墻沖突:臨時關閉防火墻測試:
    systemctl stop firewalld  # CentOS
    ufw disable                # Ubuntu
    

總結

該錯誤通常由路徑配置或依賴問題引發,通過驗證安裝完整性、修復權限、補充依賴庫,90% 以上情況下可解決問題。如仍失敗,建議檢查 MySQL 官方文檔 或社區支持論壇。



























本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913759.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913759.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913759.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在 Ubuntu 下配置 oh-my-posh —— 普通用戶 + root 各自使用獨立主題(共享可執行)

&#x1f9e9; 在 Ubuntu 下配置 oh-my-posh —— 普通用戶 root 各自使用獨立主題&#xff08;共享可執行&#xff09;? 目標說明普通用戶 使用 tokyonight_storm 主題 root 用戶 使用 1_shell 主題 共用全局路徑下的 oh-my-posh 可執行文件 正確加載 Homebrew 到環境變量中…

Spring Boot 項目中的多數據源配置

關鍵詞&#xff1a;Spring Boot、多數據源配置、MySQL、SQL Server、Oracle、動態切換 ? 摘要 在實際企業級開發中&#xff0c;一個 Spring Boot 項目可能需要連接多個數據庫&#xff0c;比如 MySQL、SQL Server 和 Oracle。不同的業務模塊可能依賴不同的數據源&#xff0c;這…

MATLAB/Simulink電機控制仿真代做 同步異步永磁直驅磁阻雙饋無刷

以下是針對 MATLAB/Simulink 電機控制仿真 的系統性解決方案&#xff0c;涵蓋 同步電機、異步電機、永磁電機、直驅電機、磁阻電機、雙饋電機、無刷直流電機&#xff08;BLDC&#xff09; 的建模與控制策略實現&#xff0c;支持代做服務的技術細節和代碼示例。一、電機建模與仿…

限流算法深度探索:從理論到實踐的生產級避坑指南

凌晨3點&#xff0c;監控警報刺耳地尖叫著。我盯著屏幕上垂直下跌的服務可用性曲線&#xff0c;意識到那個被忽視的限流配置項終于引爆了——每秒1000次的支付請求正像洪水般沖垮我們的系統。這次事故讓我深刻理解&#xff1a;限流不是可選項&#xff0c;而是分布式系統的生存法…

企業級后臺管理系統的困境與飛算 JavaAI 的破局之道

企業級后臺管理系統如 CRM&#xff08;客戶關系管理系統&#xff09;、ERP&#xff08;企業資源計劃系統&#xff09;已成為支撐企業高效運轉的核心骨架。它們如同企業的 “神經中樞”&#xff0c;串聯起客戶數據、財務信息、供應鏈流程等關鍵環節&#xff0c;為決策制定、業務…

快速上手百寶箱搭建知識闖關游戲助手

引言&#xff1a;讓學習更有趣&#xff0c;AI 賦能知識闖關新體驗 1.在信息爆炸的時代&#xff0c;傳統的填鴨式教學方式已難以滿足現代用戶對高效、個性化和趣味化學習的需求。越來越多的學習者傾向于通過互動性強、參與感十足的方式獲取知識。在此背景下&#xff0c;游戲化學…

【YOLOv11-目標檢測】目標檢測數據格式(官方說明)

原文鏈接&#xff1a; https://docs.ultralytics.com/datasets/detect/ 寫在前面 訓練一個魯棒且準確的目標檢測模型需要一個全面的數據集。本文介紹&#xff1a;與Ultralytics YOLO模型兼容的各種數據集格式&#xff0c;并深入解析了它們的結構、使用方法以及如何在不同的格…

yolo8實現目標檢測

?步驟一&#xff1a;安裝 PyTorch&#xff08;M1 專用&#xff09;# 推薦使用官方 MPS 后端&#xff08;Apple Metal 加速&#xff09; pip install torch torchvision torchaudio確認是否使用了 Apple MPS&#xff1a;import torch print(torch.backends.mps.is_available()…

安全管理協議(SMP):配對流程、密鑰生成與防中間人攻擊——藍牙面試核心考點精解

一、SMP 核心知識點高頻考點解析1.1 SMP 在藍牙安全體系中的定位考點&#xff1a;SMP 的功能與協議棧位置解析&#xff1a; SMP&#xff08;Security Manager Protocol&#xff0c;安全管理協議&#xff09;是藍牙核心規范中負責設備配對、密鑰生成與安全連接的關鍵協議&#x…

U盤實現——U 盤類特殊命令

文章目錄 U 盤類特殊命令U 盤的命令封包命令階段數據階段狀態階段get max luninquiry(0x12)read format capacities(0x23)read capacity(0x25)mode sense(0x1a)test unit ready(0x00)read(10) 0x28write(10) 0x2aU 盤類特殊命令 U 盤的命令封包 命令階段 命令階段主要由主機通…

深度帖:瀏覽器的事件循環與JS異步

一、瀏覽器進程 早期的瀏覽器是單進程的&#xff0c;所有功能雜糅在一個進程中&#xff1b;現在的瀏覽器是多進程的&#xff0c;包含瀏覽器進程、網絡進程、渲染進程等等&#xff0c;每個進程負責的工作不同。瀏覽器進程&#xff1a;負責界面顯示&#xff08;地址欄、書簽、歷史…

Linux網絡:UDP socket創建流程與簡單通信

本文介紹 UDP 服務端與客戶端 的創建流程&#xff0c;和相關的函數接口 核心流程 創建 socket → socket()填寫服務器地址信息 → sockaddr_in 結構體綁定地址和端口 → bind()接收并響應客戶端數據 → recvfrom() / sendto()socket() #include<sys/so…

windows內核研究(系統調用 1)

WindowsAPI函數的調用過程什么是WindowsApi&#xff1f;Windows API&#xff08;Application Programming Interface&#xff0c;應用程序編程接口&#xff09;是微軟為Windows操作系統提供的一套系統級編程接口&#xff0c;允許開發者與操作系統內核、硬件、系統服務等進行交互…

【前端】異步任務風控驗證與輪詢機制技術方案(通用筆記版)

一、背景場景 在某類生成任務中&#xff0c;例如用戶點擊“執行任務”按鈕后觸發一個較耗時的后端操作&#xff08;如生成報告、渲染圖像、轉碼視頻等&#xff09;&#xff0c;由于其調用了模型、渲染服務或需要較長處理時間&#xff0c;為了防止接口被頻繁惡意調用&#xff0c…

Vim 編輯器常用操作詳解(新手快速上手指南)

&#x1f4bb; Vim 編輯器常用操作詳解&#xff08;新手快速上手指南&#xff09;作者&#xff1a;Lixin 日期&#xff1a;2025-07-09 學習內容&#xff1a;Vim 編輯器基礎 常用快捷鍵 Xshell/Xftp連接 Linux基本操作 學習目標&#xff1a;掌握 Vim 的三種常用模式切換與基本…

OpenGL 生成深度圖與點云

文章目錄 一、簡介二、實現代碼三、實現效果一、簡介 這里基于OpenGL實現對一個Mesh對象深度圖的獲取,思路其實很簡單,直接通過glReadPixels函數獲取整個OpenGL中的深度緩沖數據即可;那么反過來我們如果有了這個深度圖之后,也可以基于每個像素點的深度值,反算出圖像中的深…

25春云曦期末考復現

Web 瘋狂星期四 <?php$tg1u$_GET[tg1u];if(!preg_match("/0|1|[3-9]|\~|\|\|\#|\\$|\%|\^|\&|\*|\&#xff08;|\&#xff09;|\-|\|\|\{|\[|\]|\}|\:|\|\"|\,|\<|\.|\>|\/|\?|\\\\|localeconv|pos|current|print|var|dump|getallheaders|get|define…

從Prompt到預訓練:掌握大模型核心技術的階梯式進化

本文較長&#xff0c;建議點贊收藏&#xff0c;以免遺失。更多AI大模型應用開發學習視頻及資料&#xff0c;盡在聚客AI學院。 在探討大模型&#xff08;LLM&#xff09;的四階段技術時&#xff0c;我們可以從Prompt Engineering&#xff08;提示工程&#xff09;、AI Agent&…

手機文件夾隱藏工具,一鍵保護隱私

軟件介紹 今天為大家推薦一款手機文件夾隱藏工具——Amarok&#xff0c;它能幫助用戶快速隱藏手機中的私密文件夾&#xff0c;保護個人隱私。 核心功能 Amarok主打文件夾隱藏功能&#xff0c;操作簡單便捷。需要注意的是&#xff0c;雖然軟件支持應用隱藏功能&#xff0…

day10-Redis面試篇

經過前幾天的學習&#xff0c;大家已經掌握了微服務相關技術的實際應用&#xff0c;能夠應對企業開發的要求了。不過大家都知道在IT領域往往都是面試造火箭&#xff0c;實際工作擰螺絲。為了更好的應對面試&#xff0c;讓大家能拿到更高的offer&#xff0c;我們接下來就講講“造…