Mysql

從 shell 腳本中,我如何檢查 MySQL 數據庫是否存在?

  • January 25, 2016

mysqladmin -uroot create foo如果存在則返回退出狀態 1 foo,否則返回 0,但當然,如果數據庫不存在,它也會創建數據庫。是否有一些簡單的方法可以簡單地檢查數據庫是否存在?

我意識到這是很久以前回答的,但這樣做對我來說似乎更乾淨:

mysql -u root -e 'use mydbname'

如果數據庫存在,這將不產生任何輸出並以 returncode == 0 退出。

如果數據庫不存在,這將在**stderr上產生一條錯誤消息並以 returncode == 1 退出。所以你會做這樣的事情:

if ! mysql -u root -e 'use mydbname'; then
 ...do stuff to create database...
fi

這可以很好地與 shell 腳本配合使用,不需要對輸出進行任何處理,並且不依賴於本地文件系統訪問。

引用自:https://serverfault.com/questions/173978