首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 下解決 "bash: mysql: command not found" 的標準修復方法

     編輯:MySQL 資料庫相關知識

在 Linux 終端輸入 mysql 提示 command not found,本質是 mysql 可執行文件所在目錄未包含在環境變量 PATH 中。本文提供三種修復方案,按推薦順序排列。

方案一:建立軟鏈接到 /usr/bin(最快、最通用)

# 1. 確認 mysql 實際路徑
find / -name mysql -type f 2>/dev/null | grep bin/mysql$
# 輸出示例:/usr/local/mysql/bin/mysql

# 2. 創建軟鏈接(需 root 權限)
ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql

# 3. 同理處理 mysqladmin、mysqldump 等常用工具
ln -sf /usr/local/mysql/bin/mysqladmin /usr/bin/mysqladmin
ln -sf /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump

-f 強制覆蓋同名文件,-s 創建符號鏈接。驗證:which mysql 應輸出 /usr/bin/mysql。

方案二:修改環境變量 PATH(永久生效、標準做法)

1. 當前用戶生效(~/.bashrc / ~/.bash_profile)

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
source ~/.bashrc

2. 所有用戶生效(/etc/profile)

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile

3. 專用腳本文件(/etc/profile.d/mysql.sh,推薦)

cat > /etc/profile.d/mysql.sh <<'EOF'
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
EOF
chmod +x /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh

重新登錄或 source /etc/profile 生效。此法便於統一管理、協同部署。

方案三:指定絕對路徑執行(臨時、腳本內嵌)

/usr/local/mysql/bin/mysql -u root -p
/usr/local/mysql/bin/mysqldump -u root -p db_name > backup.sql

適用於定時任務、部署腳本中硬編碼路徑,避免環境變量依賴。

驗證與排查

# 檢查是否生效
which mysql
mysql --version

# 若仍報錯,檢查:
ls -l /usr/local/mysql/bin/mysql  # 文件是否存在、有執行權限
file /usr/local/mysql/bin/mysql   # 確認架構匹配(ELF 64-bit LSB executable, x86-64)

常見安裝路徑對照表

安裝方式典型二進制目錄
官方 RPM/DEB/usr/bin/ (通常已在 PATH,無此問題)
官方二進制壓縮包/usr/local/mysql/bin/
源碼編譯 --prefix/usr/local/mysql/bin/ 或自定義目錄
Docker 容器容器內 /usr/bin/,宿主機無需修復
寶塔/lnmp 一鍵包/www/server/mysql/bin/

總結

生產環境推薦方案二(/etc/profile.d/mysql.sh),標準、可維護、多用戶生效;臨時調試用方案一(軟鏈接) 最快。核心動作只有一個:讓 Shell 能在 PATH 目錄中找到 mysql 可執行文件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved