I get canker sores about once every two weeks, often caused by little nicks in my mouth that get infected.
I have found that an excellent cleaning agent, to help keep bacteria from infecting it too bad, is GlyOxide. This cleaning agent can be used for just one canker sore, or many [as a mouthwash]. For one sore, you can put 2-3 drops on it, and hold your mouth open for at least two minutes. For multiple sores, you can put 10-12 drops on the tounge, mix with your saliva and swish around your mouth, especially on the sores.