<divstyle="padding: 0 0 20px 0; margin: 0 0 20px 0; background-color: #22B24C;">
<divclass="container">
<pclass="banner"><ahref="https://www.kickstarter.com/projects/mikeckennedy/python-for-entrepreneurs-video-course" style="color: #fff">Use Python to build your side business with the Python for Entrepreneurs video course!</a></p>
</div>
</div><ahref="https://github.com/makaimc/fullstackpython.com"><imgstyle="position: absolute; top: 0; right: 0; border: 0;" src="/img/fork.png" alt="Fork me on GitHub"></a>
<p>MySQL is a viable open source database implementation for Python web
applications. MySQL has a slightly easier initial learning curve than
<ahref="/postgresql.html">PostgreSQL</a>. However, PostgreSQL's design is often
preferred by Python web developers, especially when data migrations are
run as an application evolves.</p>
<divclass="well see-also">MySQL is an implementation of the <ahref="/databases.html">relational database</a> concept. Learn more in the <ahref="/data.html">data</a> chapter or view the <ahref="/table-of-contents.html">table of contents</a> for all topics.</div>
<h2>Python Drivers for MySQL</h2>
<p>Accessing MySQL from a Python application requires a database driver (also
called a "connector"). While it is possible to write a driver as part of
your application, in practice most developers use an existing open source
driver.</p>
<p>There was a major issue with MySQL drivers since the introduction of
Python 3. One of the most popular libraries called
<ahref="https://pypi.python.org/pypi/MySQL-python/1.2.5">MySQLdb</a> did not work
in its existing form with Python 3 and there were no plans to update it.
is a blog post about specific deficiencies in MySQL's implementation that
hinder its usage with Django's ORM.</p>
</li>
<li>
<p><ahref="http://moderndata.plot.ly/graph-data-from-mysql-database-in-python/">Graph Data From MySQL Database in Python</a>
is an interesting study with code of how to pull data out of MySQL and graph
the data with Plotly.</p>
</li>
<li>
<p><ahref="http://zetcode.com/db/mysqlpython/">MySQL Python tutorial</a> uses the
MySQLdb driver to connect to a MySQL server instance and shows some
examples for inserting and querying data.</p>
</li>
</ul>
<h3>General MySQL resources</h3>
<ul>
<li>
<p><ahref="/blog/install-mysql-ubuntu-1604.html">How to Install and Use MySQL on Ubuntu 16.04</a>
is a quick tutorial for getting up and running on Ubuntu Linux.</p>
</li>
<li>
<p><ahref="http://designm.ag/tutorials/28-beginners-tutorials-for-learning-about-mysql-databases/">28 Beginner's Tutorials for Learning about MySQL Databases</a>
is a curated collection on various introductory MySQL topics.</p>
</li>
<li>
<p>This tutorial shows how to install <ahref="http://www.cs.wcupa.edu/rkline/index/mysql-lin.html">MySQL on Ubuntu</a>.</p>
</li>
<li>
<p><ahref="https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial">A Basic MySQL Tutorial</a>
doesn't have the most original title but it's a good walkthrough of your
first few steps in MySQL for creating users and working with tables.</p>
</li>
<li>
<p><ahref="https://engineering.pinterest.com/blog/open-sourcing-pinterest-mysql-management-tools">Pinterest open sourced many of their MySQL tools</a>
to manage instances of the database.</p>
</li>
<li>
<p><ahref="https://www.userlike.com/en/blog/2015/10/09/bye-by-mysql-and-mongodb-guten-tag-postgresql">Bye Bye MySQL & MongoDB, Guten Tag PostgreSQL</a>
goes into details for why the company Userlike migrated from their MySQL
database setup to PostgreSQL.</p>
</li>
<li>
<p><ahref="https://nylas.com/blog/growing-up-with-mysql/">Growing up with MySQL</a> is
a story about how one company went through dramatic growth and had to keep
up with it by quickly scaling their MySQL database.</p>
</li>
<li>
<p><ahref="https://www.datadoghq.com/blog/monitoring-mysql-performance-metrics/">Monitoring MySQL metrics</a>
is the first of a three part series, with the other parts on
<ahref="https://www.datadoghq.com/blog/mysql-monitoring-with-datadog/">monitoring & collecting specifically with the DataDog tool</a>. The series explains what
metrics you should be collecting and monitoring in your production
database along with the purpose for why those metrics are important.</p>
</li>
</ul>
<h3>Learn more about data or go to web frameworks?</h3>
<ahref="http://www.deploypython.com/"><imgsrc="/img/sponsored/fsp-deployment-guide.png" alt="The Full Stack Python Guide to Deployments" width="100%"></a>
<pstyle="font-size: .8em; margin-top: 10px;">Searching for a complete, step-by-step deployment walkthrough? Learn more about <ahref="http://www.deploypython.com/">The Full Stack Python Guide to Deployments book</a>.