Let me prefix my question with some information on our environment. We have a web server with 100+ websites. The web server has a corresponding MySQL Server version 5.7. Each PHP website has MySQL Database with a MySQL User attached to it that only has permissions set for it to be able to access to it's database. Previously we have only given that website user, SELECT, UPDATE, DELETE, and INSERT permissions. We are now running into a situation where we must now give the user Create, Alter, and Drop permissions. I'm wondering what potential security risks that puts us in by giving these website users these additional permissions.
The first obvious one I can think of is with the DROP permission, someone could obviously drop all tables and all data would be lost. I'm thinking we may be able to restructure our code to not require DROP. If that's the case and we only need to add CREATE & Alter to the user's then what is a worst case scenario situation? The database are also locked down by IP to only be accessed within our network so the only way a user could be accessing the database directly would be through a SQL Injection through the website.