A civilization is defined as "An advanced state of human society, in which a high level of culture, science, industry, and government has been reached." by Dictionary.com. Mesopotamia, Egypt, and Indus Valley all reached a high level of each of those requirements, just in different ways. Having a civilization that works correctly and can sustain a population increase over time depends a great deal on the location, the use and advancement of technology, and the social structure you that the civilization has. Each of these three ancient civilizations used those three building blocks in a different way that makes the civilization successful.
The location of a civilization is probably one of the most, if not the most, important detail to being successful. A civilization that is built just anywhere will not be able to sustain life, much less a growing population. The reason Mesopotamia, Egypt, and Indus Valley were around for so long was because of their excellent locations on the plant. Mesopotamia was located near present day Iraq in the Middle East, surrounded by two rivers, the Euphrates and the Tigris. Egypt was in present day Egypt (obviously) and had one major river, the Nile. Indus Valley was a large, over one million acre, stretch of land near present day India that had two rivers at the time, the Indus and Hakra rivers. As you can see, each of these civilizations is close to one, if not two major rivers, as rivers are vital to being able to grow food for the people of the civilization. In Egypt and Indus Valley, they could count on their rivers to flood at certain times of the year which was very helpful when planting crops. The water left nutrient rich silt and dirt on the farmland that assisted the crops in their growth. Whereas Mesopotamia on the other hand, had to water their crops manually because of the lack of rainfall, and the Euphrates and Tigris rivers didn't as conveniently flood on schedule like the Nile and Indus.