Mysql
從 shell 腳本中,我如何檢查 MySQL 數據庫是否存在?
mysqladmin -uroot create foo
如果存在則返回退出狀態 1foo
,否則返回 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 腳本配合使用,不需要對輸出進行任何處理,並且不依賴於本地文件系統訪問。