I DO think that many canker sores are viral!!!!
Now, here is the thing... This has all but CURED my DH from getting cold-sores on his lips, and me getting canker sores inside my mouth.
Yes, L-Lysine works!!! It is completely safe, OTC, and not expensive. A doctor advised my DH to take it EVERY day.... He does, and he never gets cold sores any more!
Here is the second thing... Consider changing your TOOTHPASTE... Many toothpastes, (the ones with a high level of detergent) actually can set-off or promote canker sores. When we switched to toothpaste with baking soda, the canker sores COMPLETELY stopped!!! Even with my having braces (which of course, are very abrasive), I NEVER got a canker sore.
Two good toothpaste that I have used are Mentadent, and Arm&Hammer Brilliant Sparkle. ( NOTE: I really have to have the 'Brilliant Sparkle', as I don't really like the others. The Brilliant Sparkle tastes fresh and minty, and has a nicer texture. You really don't even notice the baking soda) And, I like Mentadent too.
To treat an existing Canker Sore, Use a special mouth-rinse, like has been suggested. The thing that works in these mouth rinses is the soda (like in the toothpaste) along with hydrogen peroxide. This really attacks these sores at their cause!
For cold-sores on the lips, the best thing is a prescription for a good antiviral ointment, such as 'Zovirax'. It really works... start applying liberally at the first tingling/burning, and it will really fight off the cold sore.
My DH and I have all but ELIMINATED our problems with cold and canker sores... These things work... I swear by them!