title: How to use Flask with mysql (without sqlalchemy - raw sql query)?
body: <p>I'm learning Flask framework. How to use Flask with mysql (without sqlalchemy - raw sql query)?</p>
  
  <p>Here is example from official tutorial, how to configure it to use mysql?</p>
  
  <pre><code>from sqlite3 import dbapi2 as sqlite3
  from flask import Flask, request, session, g, redirect, url_for, abort, render_template, flash
  
  
  # create our little application :)
  app = Flask(__name__)
  
  # Load default config and override config from an environment variable
  app.config.update(dict(
      DATABASE='/tmp/firma.db',
      DEBUG=True,
      SECRET_KEY='development key',
      USERNAME='admin',
      PASSWORD='default'
  ))
  app.config.from_envvar('FIRMA_SETTINGS', silent=True)
  
  
  def connect_db():
      """Connects to the specific database."""
      rv = sqlite3.connect(app.config['DATABASE'])
      rv.row_factory = sqlite3.Row
      return rv
  
  
  def init_db():
      """Creates the database tables."""
      with app.app_context():
          db = get_db()
          with app.open_resource('firma.sql', mode='r') as f:
              db.cursor().executescript(f.read())
          db.commit()
  
  
  def get_db():
      """Opens a new database connection if there is none yet for the
      current application context.
      """
      if not hasattr(g, 'sqlite_db'):
          g.sqlite_db = connect_db()
      return g.sqlite_db
  
  
  @app.teardown_appcontext
  def close_db(error):
      """Closes the database again at the end of the request."""
      if hasattr(g, 'sqlite_db'):
          g.sqlite_db.close()
  
  
  @app.route('/')
  def show_entries():
      db = get_db()
      cur = db.execute('select title, text from entries order by id desc')
      entries = cur.fetchall()
      return render_template('show_entries.html', entries=entries)
  ...
  </code></pre>
  
  <p>How to configure it to use mysql?</p>