首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL「Ignoring query to other database」錯誤排查:登錄參數缺失 -u 導致

     編輯:MySQL 綜合教學

MySQL「Ignoring query to other database」錯誤排查:登錄參數缺失 -u 導致

現象:登錄 MySQL 後執行任意命令(甚至 SHOW DATABASES;)均報錯:

Ignoring query to other database

乍看像權限或庫不存在,實際是登錄命令寫錯導致未正確認證用戶身份。

錯誤命令

mysql -root -p

此處 -root 被解析為密碼參數值,而非用戶名。MySQL 嘗試用匿名用戶、密碼 root 登錄,進入後無默認庫上下文,故任何查詢被視為「其他數據庫」而忽略。

正確命令

mysql -u root -p
  • -u / --user:指定用戶名
  • -p / --password:提示輸入密碼(不寫值,交互輸入最安全)
  • -h:主機,默認 localhost
  • -P:端口,默認 3306

驗證步驟

  1. 重新執行 mysql -u root -p,輸入正確密碼
  2. 登錄後執行 SELECT USER(), CURRENT_USER(); 確認身份
  3. 執行 SHOW DATABASES; 應正常返回列表

常見參數寫法對照

錯誤寫法正確寫法說明
mysql -root -pmysql -u root -p缺 -u 導致 root 被當密碼
mysql -u root -ppasswordmysql -u root -p 回車輸入命令行明文密碼泄露風險
mysql -h 127.0.0.1 -u root同左TCP 連接(非 Unix socket),觸發網絡層權限匹配

延伸:連接參數最佳實踐

# 推薦:配置文件 ~/.my.cnf (600 權限)
[client]
user = root
password = "StrongPass!"
host = 127.0.0.1
port = 3306
default-character-set = utf8mb4

# 然後直接執行
mysql
  • 避免命令行洩露密碼
  • 統一字符集、主機、端口
  • 腳本調用時 mysql --defaults-file=/path/.my.cnf
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved