MySQL driver for Rails in Windows 7 x64 - mysql

I've got problem with connecting to MySQL database on my freshly installed Windows 7 machine.
I'm getting this error when I try to migrate my database.
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install
the mysql gem and try again: gem install mysql.
rake aborted!
193: %1 is not valid Win32 application - C:/Ruby/lib/ruby/gems/1.8/gems/mysql-2.8.1-x86-mswin32/lib/1.8/mysql_api.so
I currently have installed
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
mysql version 5.0.86 for Win64
gem 1.3.1
mysql-2.8.1-x86-mswin32

My colleague had a similar problem while running rails on Windows 7.
He had to replace the libmySQL.dll (in the PATH) with the one from InstantRails.

I spent hours trying to get MySQL and Rails to play nicely on Windows (albeit XP, both 32 and 64-bit versions). I finally gave up since my production box was running Linux (on which Rails and MySQL play very nicely) and just used SQLite 3 for development. No headaches to get it working and it runs fast enough for development purposes.
However, I did hear of some people that had luck replacing one of the DLLs provided by the gem with one provided by the official MySQL distribution. Also, some people simply didn't have this DLL at all which was causing problems. In the end, it didn't work for me, but hopefully you will have more luck.

For Rails or DataMapper or whatever to talk to MySQL you need a 32-bit driver in Rails\bin. The driver is called libmysql.dll. Even if you have a 64-bit server you need a 32-bit driver.
64-bit driver will fail will ruby/gems/1.8/gems/do_mysql-0.10.2-x86-mingw32/lib/do_mysql/1.8/do_mysql.so: 193: %1 is not a valid Win32 application.
A wrong 32-bit version will crash with memory allocation error or something weird like that (suggested solution to take libmysql.dll from another project may not work with newer versions of MySQL).

I am new to this rails. I just have passed the same issue in vista. after downloading libmySQL.dll (in the PATH) with the one from InstantRails it starts working.
sukumaaar#gmail.com

The solution to this problem is to simply install the 32-bit version of mysql.

Fast forward to March 2012. I solved this problem on windows 7 x64) by renaming my Ruby\b\bin\libmysql.dll and then copying libmysql.dll from C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\lib\opt to Ruby\bin
There was a newer version of libmysql.dll at C:\Program Files (x86)\MySQL\MySQL Workbench CE 5.2.37 but the gem didn't like the non 6.x version.

Could this be related to Ruby on Rails Win7 x64? ? If so, what was the fix again (couldn't figure it out from the first answer) ?

Another option which has worked for me is to download the 32bit version of mysql for windows and just keep the libmysql.dll and add the location of this DLL to the windows PATH.

Adding the libmySQL.dll from InstantRails to a dir in my path worked for me too. It's really sad that we have to do this sort of thing though. I'd like to see the gem, or MySql itself, install this DLL properly.

I'm running the current versions of everything on WinXP SP3: Ruby 1.9.2p0, MySQL 5.5, mysql 2.8.1. This issue is still present and to fix it I had to copy the Instant Rails libmysql.dll into my C:\Ruby192\bin directory. I initially copied the libmysql.dll file that came with MySQL 5.5 but that caused a seq fault!

Related

MySQL installer for Windows (MSI) for 5.7.33 insists on installing 8.0 components

Our application database schema is compatible with MySQL 5.7. A new team member accidentally installed MySQL 8.0.22 on Windows 10 using the MSI installer. The uninstall of version 8.0.22 was successful. However, the subsequent install of version 5.7.32 insists on re-installing version 8.0.22 components. How can version 8.0.22 be cleanly uninstalled to enable a correct 5.7.32 install?
As it turns out, it looks like MySQL implemented an MSI installer that can lay down bits from multiple releases. In the Setup Type phase, you can choose which release to install. As such, withdrawing this question accordingly.

Teamcity Setup Issues

Good day
I am trying to setup my first TeamCity instance. I'm running windows 2016 server with mysql. I'm busy setting up the database connection and i'm getting the error.
The MySQL JDBC driver is not found in the C:\ProgramData\JetBrains\TeamCity\lib\jdbc directory.
Copy the driver .jar file to the directory. You can download it at http://dev.mysql.com/downloads/connector/j.
For the MySQL server version 5.5 or higher, use the JDBC driver version 5.1.23 or higher.
But if i go to that link it doesn't give me the option to download a version for windows, it just has unix OS versions. Any help would be appreciated. ive been googling the issue but cant seem to find an answer for windows
From the drop down list choose "Platform Independent".

mysql installer fails to recognize python 3.4

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.

Qt5 MySQL Driver Issues

I'm trying to get my MySQL database interfacing with Qt5 but I can't seem to get the driver working. I've tried to compile it myself but always ran into different errors, then I upgraded to Qt 5.2 which comes with the drivers pre-compiled: qsqlmysql.dll & qsqlmysqld.dll but I still can't get it to work.
Any help would be appreciated, I'm running Qt 5.2 on Windows 7 with 32-bit MySQL.
Fixed it, forgot to Copy libmysql.dll from %mysql%/lib to C:\Windows D'oh!

How can I make Rails 3.1 work on Debian squeeze with MySQL Server 5.1?

I am trying to start a new application Ruby on Rails 3.1 on Debian Squeeze with MySQL Server 5.1 (the latest supported by Debian stable version).
I have problem with the mysql2 gem. When I use mysql2 gem version 0.2.6 rake migrations fail with error undefined method rows for nil class. I gooogled and everybody says that this error is resolved when one upgrades mysql2 gem to 0.3.X. However, when I do this upgrade I get another error about gem having been compiled for 5.5 mysql client and not 5.1.
Any help would much appreciated. Maybe the answer is "NO. YOU CANNOT DO IT". Even then, I want to know that.
Thanks in advance
Panayotis
Well, this is a tricky question. My current rails package latest version is 2.3.5-1.2+squeeze2 and the current mysql-server package is 5.1.49-3, both from the stable debian repositories.
However, you're trying to install RoR 3.1. That means you're not on stable or you are not trying to install it from any of the official debian repository at all (it is not wheeze nor sid).
If you can install the stable version of rails, go ahead and I bet you won't have any trouble. Otherwise, if you want the most current release I'm pretty sure you'll have to go for the dirty way. It might probably involve download a 5.5 MySQL (not from the repositories, because it isn't there) and messing with the libraries.
Remember if you require newer packages (such as newer libraries) and you don't want to use the testing repositories, you can always give debian backports a try.