È possibile che un utente diverso da root crei un database?Quale autorizzazione è richiesta per un utente MySQL per creare un database?
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'
Mi chiedo che cosa manca il privilegio qui? Inoltre, perché la prima riga ha una password allegata?
UPDATE
Vorrei inoltre chiarire quale sia il punto della mia domanda è. Ho due macchine database, sorgente e destinazione. Ci sono molti database clienti sul computer di origine. Ho bisogno di spostare quei database di origine sull'altra macchina di destinazione.
I database sono sotto forma di file mysqldumped .sql, che sono sftp'd dall'origine alla destinazione. L'utente di destinazione, non root, deve quindi ricreare i database localmente da ciascun file .sql, eseguire alcune azioni, quindi rilasciare il database.
Non riesco a trovare un modo per assegnare questi privilegi all'utente di destinazione senza concedergli i privilegi globali su *.*
, il che rende efficace quell'utente pericoloso come root.
Interessante. Ok, ecco un pensiero. Invece di usare mysql sul computer di destinazione, utilizzare un database alternativo appositamente per questa transazione. SQLite o qualcosa del genere. In questo modo, le sue autorizzazioni non hanno nulla a che fare con qualsiasi database pienamente operativo, possono essere utilizzati solo con e per il database temporaneo e le azioni. Potrebbe essere necessario modificare alcuni script o cosa no, ma in questo modo sarai molto più sicuro. Crea una piccola tasca di controllo, per questa specifica impresa, e poi annullala quando ha finito. Potrebbe essere un lavoro extra, ma risolverà il problema. –