Esto es una pregunta que se ha hecho muchas veces en los foros y vas a encontrar respuestas divididas.
La mia es NO almacenar imágenes en la BD, es mejor crear un campo que haga referencia a la ruta (directorio) donde se almacenan las imágenes.
Si queres tiempos de respuesta eficientes, de esta forma lo vas a obtener, si queres una BD manejable para respaldos, con esto lo vas a tener, entre otras ventajas.
Sobre la capacidad de los tipos de datos que podes declarar, leelo directamente de la página de MySQL o bajas de ahí mismo el manual.
Chapter 11. Data Types 11.5. Data Type Storage Requirements