By using our website, you agree to our privacy policy

Install MySQL and MySQLClient(Python) in MacOS

Install MySQL and MySQLClient(Python) in MacOS

Connecting to MySQL from Python in MacOS is a very problematic and painful process. In this post, we are going to see how to install MySQL and connect a Python application to it using mysqlclient.

Step one: install Homebrew

You need to install Homebrew in you local machine. You can do it by:

/usr/bin/ruby -e "$(curl -fsSL"

Step two: install MySQL

Using Homebrew you can install mysql simply by:

brew install mysql

Then setup the credentials in MySQL server using the following command:


Finally if you want to start at login and as a background service, run this:

brew services start mysql


mysql.server start

Step three: install MySQL-Connector-C

For connecting any other application to MySQL, you need to install a connector. You can do it like this:

brew install mysql-connector-c

Then according to mysqlclient’s documentation, you need to put a bugfix at mysql_config. For that first type mysql_config in terminal.:

>> mysql_config
Usage: /usr/local/bin/mysql_config [OPTIONS]
Compiler: ...

It will show where you need to find mysql_config. Then you can use any of the editor of your liking and change the following lines inside the mysql_config:


# on macOS, on or about line 112:
# Create options
libs="$libs -l "


# Create options
libs="$libs -lmysqlclient -lssl -lcrypto"

Step four: install XCode-Select

You can do this by:

xcode-select --install

Step five: install OpenSSL

Please run the following command:

brew install openssl

Then add its path to environment using following line:

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/

You need to unlink mysql and link mysql-connector-c:

brew unlink mysql
brew link --overwrite mysql-connector-c

Step seven: install mysqlclient

You should be able to use pip install mysqlclient without any errors.

Now, you need to do the opposite of Step six:

brew unlink mysql-connector-c
brew link --overwrite mysql

Hopefully now mysqlclient should work fine and will have no problem connecting your application from mysql to python.

In conclusion

In this article, we have seen installing MySQL from Homebrew. I never used MySQL installed from Oracle website, so don’t know how to fix it. Better if you uninstall that and install MySQL from scratch using Homebrew.

Python MySQL MacOS

Share Your Thoughts
M ↓   Markdown

Friday, Aug 2, 2019

The above steps worked when I uninstalled the MySQL dowloaded from here

Rebecca Luong
Friday, Aug 2, 2019

thank you!!

Friday, Aug 2, 2019

Thanks - it works for me

Thursday, Nov 14, 2019

Thank you so much!

Kathy Mather
Sunday, Nov 17, 2019

This worked splendidly. Thanks so much for taking the time to write it out!

Shamal Sandeep
Thursday, Nov 21, 2019

Thanks for posting a comprehensive installation guide that actually works.

Michael Barton
Wednesday, Nov 27, 2019

You’re my hero. Thank you.

Friday, Nov 29, 2019

I can install mysqlclient success according your step But when I excute “pip install mysql-python " it show _mysql.c:44:10: fatal error: ‘my_config.h’ file not found #include “my_config.h” how can i fix it ? Thank you

Friday, Nov 29, 2019

Probably you need to downgrade your MySQL to make it work. More information can be found in this SO link:

Sunday, Dec 1, 2019

It worked for me after adding –force in the step 6 (brew link –overwrite mysql-connector-c)

Sunday, Dec 22, 2019

Thanks worked !

Nicholas Portalupi
Friday, Mar 6, 2020

Please excuse my n00bness in advance. I followed the steps up until step 7, when I get the following error:

There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='’, port=443): Max retries exceeded with url: /simple/pycrypto/ (Caused by SSLError(“Can’t connect to HTTPS URL because the SSL module is not available.")) - skipping

Also, my jupyter notebooks don’t work now. I won’t distract from my main question with that error at this time though. Thank you for posting this fix, and hopefully someone can help me fix the fix.

Friday, Mar 6, 2020

Hi Nicholas, Hopefully you will find solution in this GitHub issue. You can also use alternative package installers like anaconda.

Monday, Mar 9, 2020

thanks a bunch, this was the first tutorial (after many) that finally worked for me!

Wednesday, Mar 18, 2020

Thanks you! It save me lots of time.

Tuesday, Mar 24, 2020

Thanks a lot!

Tuesday, Mar 24, 2020

Thanks a lot!

Thursday, Mar 26, 2020

Thanks man! this is so helpful! May God give u happiness all the time!