All lessons should be learned and then moved on from. Don't use mistakes to beat yourself up with. We are all going to make mistakes. All of us. Yes, even those that set themselves up above others as somewhat superior beings. We've all met them. They make mistakes too.
So stop being hard on yourself. Your mistakes have taught you to be softer, stronger and wiser. And if you must beat yourself up then set a time limit. Seriously, this works. I use this with clients and it works. Do you want to give yourself a hard time? How much time do you need? A day? A week? A month? Then agree that amount of time with yourself and go for it. But after that, move on.
And most importantly- keep making those mistakes. Keep learning and keep growing. Life is life. Live it.