I am using Windows 10. I have python 3.8.2 32 bit installed. I am trying to use mysql-installer-web-community-8.0.20.0.msi the connector for Python. The connectors are grayed out and not available. The error message says Python 32-bit not installed. I see old threads claiming you need Python 3.4. The documentation here: https://dev.mysql.com/doc/connector-python/en/connector-python-versions.html claims this will work with Python 3.8.2. Do I need a different MySql installer? If not, what am I doing wrong?
Thanks,
Scott
I am not sure why I was using the MySQL installer to install libraries for Python. In hind-sight, that doesn't make sense. Use pip to install the drivers like
$ pip install mysql-connector-python
# or
$ python pip install mysql-connector
# or for >= Python 3.9
$ pip install mysqlclient
It is not entirely clear what the difference is, but, the first of the three solved the problem.
I faced similar issue while working with MySQL 8.0.18 with Python 3.8 on Windows 10 64 Bit Machine.
And I used the following workaround -
Ensured that all the installers used were 64-Bits installers for My SQL and Python since my machine is Windows 10 64-bit machine.
Ensured that Python Connector for MySQL supported the corresponding python version from https://insidemysql.com/category/mysql-development/connectors/python/ Incase of issues or lack of information downgraded MySql by minor version.
Downloaded independent MSI for Connector from - dev.mysql.com/downloads
Manually installed the downloaded Connector MSI.
Hopefully this information will help you troubleshoot your issue as well by using corresponding 32-bit versions.
If your CPU architecture is 64 bit then be sure that you download MySQL Connector 64 bit version. 32 bit installers would also work but sometimes occurs minor errors. Also MySQL Connector Python requires Python to be in the system’s PATH. Installation fails if python cannot be located. Add python.exe path to System PATH varible. So that MySQL connector can find the execution file.
It is sadly known that MYSQL has low compatibility with python.
For example, I have stepped into this issue while trying to install mysql-python (a terrible one!) and this other issue while using mysqlclient.
There are a lot of python connectors for mysql, you can try some and see one by one if they work. I would recommend pymysql.
However, I would recommend you to use a Postgresql db with python, it really works like charm, and if you want to have a local DBMS/GUI/workbench to work on it, you can use PgAdmin.
I am not sure why I was using the MySQL installer to install libraries for Python. In hind-sight, that doesn't make sense. Use pip to install the drivers like
$ pip install mysql-connector-python
# or
$ python pip install mysql-connector
It is not entirely clear what the difference is, but, the first of the two solved the problem.
Adarsh
I am using windows 10 and installed Ubuntu from the windows app store. In the terminal I type sudo apt-get install mysql-server.
I have tried multiple guides of making sure I removed all Sql installs and files that could have been installed already. The strange thing is I just downloaded Ubuntu and never had mysql on the system. I continue to get the below error.
Error displayed
Setup Explained:
I just went to the windows store and downloaded the canonical software. Unfortunately, I dont know much about this linux. I just downloaded and I can just open up the ubuntu exe. This may be the root of my problem. Its a windows app.
I am trying to run a C++ program developed on Ubuntu 18.04. It uses JSON-C shared library. It compiles and runs without any problem on my Ubuntu 18.04 system. However it compiles on a Ubuntu 14.04 system but crash upon running,
Reporting following message -
*** Error in `./main.out': corrupted size vs. prev_size: 0x00007fdd54f49e30 ***Aborted (core dumped)
After some digging I have found that something wrong with JSON-C library. I have checked the linked JSON-C libraries using ldd command.
It gave me following output in Ubuntu 18.04 -
libjson-c.so.3 => /lib/x86_64-linux-gnu/libjson-c.so.3 (0x00007ff16a88c000)
And following in Ubuntu 14.04 -
libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007f0848838000)
I guess something wrong with JSON-C versions. I couldn't found any useful information on google. Any ideas what sort of problem this is?
Ubuntu 18.04 LTS includes a newer version of the library "libjson-c3". Previous versions, including Ubuntu 16.04 LTS and 14.04 LTS have an older version "libjson-c2".
These versions are different enough that they're incompatible.
If you must run your code on 14.04, you'll need to scrutinize the libjson calls to figure out where these compatibilities are.
Alternatively, you could try to run your application on newer 18.04, and not worry about supporting 14.04
I'm trying to istall mysql server on a windows 7 machine - that has python 3.4.3 installed. However, when trying to install the python connectors for 3.4, the installer fails to recognize the python installation, saying python 3.4 is not installed.
Has anyone solved this issue before? I'ts driving me nuts...
Just to add to the murkiness, I had the same error with current version of MySql install when attempting with python 3.5 installed (which is the latest python download). Long story short, I uninstalled python 3.5, installed python 3.4.4 (which interestingly didn't update PATH so I updated it manually) and reran installer and it found the python installation.
So my conclusion is the MySql installer is tied to certain versions of the add-on products which in this case meant specifically python 3.4
just in case anyone else has this issue in future. Look at what bit version you have for Python 3.4. When I installed 64 bit version of Python 3.4, this issue went away.
I ran into a similar issue with Python 3.7.2.
In my case, the problem was that I tried to install the 64 bit MySQL connector, but had the 32 bit version of Python installed on my machine.
I got a similar error message:
Python v3.7 not found. We only support Python installed using the Microsoft Windows Installer (MSI) [...]
The problem just went away by installing the 32 bit MySQL connector instead.
From my experience if you have both Py2.7 and Py3.4 installed when installing the mysql connector for py3.4 you will run into this issue. Not sure of the WHY but for some reason if you have py2.7 installed, the py3.4 mysql connector recognizes that version first and just assumes that you have py2.7 installed and does not recognize that py3.4 is installed.
The only way I have found around this is to uninstall py2.7 and then install the py3.4 mysql connector. You can always install py2.7 again after the fact.
I had 3.6.X version and it could not see it; I uninstalled it and installed 3.4.0 version and it passed the requirement.
https://www.python.org/downloads/release/python-340/
Had the same problem and have fixed it. Using a Windows 7 PC and I already had multiple versions of Python installed.
Uninstalled all versions of Python from my PC
Uninstalled the failed MySQL install
Restarted PC
Re-installed Python 3.7 64-bit (the currently required version for MySQL)
Installed the Python 3.7 MySQL Connector separately through the link below
https://dev.mysql.com/downloads/connector/python/
Once that was installed, restarted the MySQL install
The MySQL Installer window will open and already show the Python 3.7 MySQL Connector in the list of products
Click "Add" at the top-right and select all of the products you want and then install them
You should then be able to complete the MySQL setup
I was looking for an similar answer. The correct answer is that there is a bug in the mysqlconnector MSI. When python installs, it creates a registry entry under HKLM Software\Python\PythonCore\3.6-32\InstallPath however, the MSI for mysqlconnector is looking for installation path in the registry Software\Python\PythonCore\3.6\InstallPath as part of the RegLocator/registrypath variable.
Use ORCA to edit the MSI, change the RegLocator so that -32 is in the path. It will install now without error or changes to the system.
I had same problem with python 3.4, all I did was installed python 3.4 version for all users. and added system variable as per this page. it worked for me!
Hope that helps.
Make sure you have the 64bit version of whichever version of Python you are running. It can be downloaded from here:
https://www.python.org/downloads/windows/
Just had the same problem and this solved it for me. I also uninstalled all previous versions of Python before running the mysql setup
I had this problem until I discovered I had installed python based in another architecture (32b). MySQL required 64 bit.
Had the same problem with Python 3.7 when trying to install MySQL in Windows 10. It was fixed by installing the 64-bits version of Python, not selected by default when going to https://www.python.org/downloads/.
I found it in https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe
Here is a much simpler work around:
pip install mysql-connector-python
Is the same package that MySQL is having trouble installing. Just use pip to install it.
Next, go back to the installation style and select "Manual" instead of "Developer". They are identical, but "Manual" allows you to remove packages. Just remove the "Connector/Python" package from the list to be installed.
Carry on with the install, you're done.
I'm installing MySQL 5.6 Community Edition using MySQL installer and everything was installed properly except for "Connector/Python 2.7 1.1.6".
Upon mousing over, I get the error message "The product requires Python 2.7 but it was not detected on this machine. Python 2.7 requires manual installation and must be installed prior to installing this product"
The problem is, I have Python 2.7 installed in C: already and I can't seem to direct this detection towards where I have Python 2.7.
(I am using Windows 8)
Check if there is any install path dependencies on your installer to figure out if your python is in the right place.
But I recommend that you install the connector you want manually.
P.S. Are you sure you need the connector? Or you just saw the error and assumed you need it?