Oh, sorry I forgot to mention, in order to mine, the node has to connect to at least one peer node. So you need to run another instance of bitcoind and let it connect to the first node, like:
what is the reason the node has to connect to at least one peer node, in order for miner to run?
Mined blocks needs to be broadcast and confirmed by the network, with only one node your blocks cannot be confirmed. Also this check is hard wired in bitcoin's source code, so it's a must-met condition.