除root以外的用戶是否可以創建數據庫?MySQL用戶創建數據庫需要什麼權限?
GRANT SELECT, CREATE ON *.* TO 'myguy'@'thatmachine' IDENTIFIED BY PASSWORD '*12057DFA2BFBD8760D4788735B1C3E26889D7ECE' |
GRANT ALL PRIVILEGES ON `db1`.* TO 'myguy'@'thatmachine'
GRANT ALL PRIVILEGES ON `db2`.* TO 'myguy'@'thatmachine'
我想知道這裏缺少什麼特權?另外,爲什麼第一行有附加密碼?
UPDATE
讓我進一步澄清我的問題的重點是什麼。我有兩個數據庫機器,源和目標。源計算機上有許多客戶數據庫。我需要將這些源數據庫移到其他目標機器上。
數據庫的形式爲mysqldump'ed .sql文件,從源文件到目標文件都是sftp。目標用戶(不是root用戶)必須從每個.sql文件本地重新創建數據庫,執行一些操作,然後刪除數據庫。
我找不到給予目標用戶這些權限而不給予他的全局權限*.*
的方法,該權限有效地使該用戶像root一樣危險。
有趣。好的,這是一個想法。而不是在目標機器上使用mysql,請專門爲此事務使用備用數據庫。 SQLite或者其他的東西。這樣,他的權限與任何完全可操作的數據庫無關,它們只能用於臨時數據庫和操作。你可能不得不改變一些腳本,或者不要,但是這樣你會更安全。爲這個特定的專長製造一小口控制權,然後在他完成時將其取消。可能是一些額外的工作 - 但它會解決這個問題。 – 2012-03-30 15:14:16