Node: Mysql client libraries on windows - mysql

I have installed db-mysql module on node running linux, and I have not problems with it, but when I tried to do it on windows, I don't know how to do this:
$ export MYSQL_CONFIG=/usr/local/mysql/bin/mysql_config
That is what the db-mysql's documentation page says to do
nodejsdb.org/db-mysql
without do that, I get on node:
Error: Unable to load shared library C:/Program files/nodejs/node_modules/db-mysql/build/Release/mysql_bindings.node
Do I have to copy any file from linux to windows pc?
Sorry my bad english, and thanks for reading

That library is a Native C++ wrapper, and has problems on Windows.
Try one of the pure js libraries. Some are covered off on this question
What MySQL driver for Node.js works on Windows?

Related

Can't run PopSQL in Ubuntu 18.04 with node v11.2.0

To learn MySQL I installed PopSQL using .deb package but it's not working, when I launch PopSQL from terminal with sudo popsql I get these error in the terminal and PopSQL ui shows blank screen.
{"name":"PopSQL","hostname":"ivyRose","pid":16621,"level":30,"msg":"Starting app. Look for crash reports in /tmp and error logs in /home/neon/.config/PopSQL/error.log","time":"2018-11-22T12:15:27.927Z","v":0}
(popsql:16621): IBUS-WARNING **: 18:00:28.174: The owner of /home/neon/.config/ibus/bus is not root!
[Oracle] NJS-045: cannot load the oracledb add-on binary for Node.js 8.2.1 (linux, x64)
Node.js require() error was:
DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help
Node.js require() mapped to /opt/PopSQL/resources/app.asar/node_modules/oracledb/build/Release/oracledb.node
Node-oracledb installation instructions: https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
You must have 64-bit Oracle client libraries in LD_LIBRARY_PATH, or configured with ldconfig.
If you do not have Oracle Database on this computer, then install the Instant Client Basic or Basic Light package from
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
[ODBC] libodbc.so.1: cannot open shared object file: No such file or directory
You don't need PopSQL to learn MySQL.
But, if you want it, to get it going, follow the error message instructions:
download the Instant Client Basic Light package from
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
unzip it
add the directory to your library search path, either via LD_LIBRARY_PATH or using ldconfig (I recommend the latter), as shown at
https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html#ic_x64_inst
PopSQL should use a try/catch block when it requires oracledb so you don't see the error.
It looks like you are missing the required driver from mysql. You can download and install this from
https://dev.mysql.com/downloads/connector/odbc/
The answer here should help.
https://askubuntu.com/questions/800216/installing-ubuntu-16-04-lts-how-to-install-odbc?answertab=votes#tab-top

MySQL Install the UDF library "mysqludf_sys" on a Windows Server 2016

For 2 weeks I'm looking for a proper tutorial on how to fully install the library "lib_mysqludf_sys".
I got the .dll from a Russian site, because there seems to be no other for 64bit systems. I have successfully installed the procedure and also created the function, but whenever I want to call a file the whole database crashes. I conclude that the DLL file is faulty or that I forgot something to install.
can someone please explain to me how to use the UDF library to call files on a Windows Server 2016 64bit properly implied in the MySQL?
that would help me a lot, thank you!
Download the Windows 64 bit version from here:
https://github.com/rapid7/metasploit-framework/tree/master/data/exploits/mysql
Copy it to here or equivalent for your MySQL installation:
c:\Program Files\MySQL\MySQL Server 5.7\lib\plugin\lib_mysqludf_sys_64.dll
Install and verify as per the instructions here:
https://osandamalith.com/2018/02/11/mysql-udf-exploitation/
Looks like you are using MySQL 57/earlier version. For the library, I suggest to control it with "dependency walker". See if there is any problem with dependency libraries. At lease KERNEL32.DLL and MSCVTR.DLL (Visual C++ Redistrubatable file) should be there without any warning on root level.
If you have the code, I suggest you to recompile it with mygwin64. There are many items needs to be fixed to compiled it. Following link is a good link for UDF DLL compiles
https://github.com/esabilbulbul/mysql-udf-windows
There something similar, follow my answer here
stackoverflow.com/a/65209718/10026099

MySQL++ Application error at launch

I compiled MySQL++ with no issues. When I launched some of the executables (resetdb.exe and simple1.exe) they suggest to run to test if the installation has been successful, the first error I got was that libmysql.dll was missing.
Adding its path to the PATH environment variable did not fix the problem, even after launching a new command prompt; I had to copy the DLL in the directory where MySQL++ executables are.
Now the DLL is found, but I get this error:
simple1.exe - Application error
The application was unable to start correctly (0xc000007b).
Click OK to close the application.
even launching from the command line, I get no more information than these.
Thank you for any help!
MySQL 5.5 -
MySQL++ 3.0.9 -
Windows 7 64 bits -
MINGW32 -
GCC 4.4.0
0xC000007B is a Windows error that means the executable is corrupted. It could refer either to simple1.exe or to one of the DLLs it's linking against.
Some reasons this could happen:
You're mixing toolchains in an incompatible way. In your case, you may have built simple1.exe using pieces built by MinGW GCC and pieces built by Visual C++. MinGW should be compatible with any pure C DLL built by Visual C++, including the MySQL C API DLL. However, you may have other pieces interfering. MinGW isn't compatible with VC++ at the C++ level, but then, it shouldn't have linked at all if this were your problem.
You didn't follow the MySQL C API import library build steps in README-MinGW.txt. You either missed a step, or skipped it entirely and are trying to use the import library that shipped with MySQL.
In your previous gyrations, you ended up with a corrupt object file, which got linked in. Try saying make clean all at the top level of MySQL++ to force a complete rebuild.
You're mixing versions of MySQL or MySQL++. If you have more than one version of each on the system, make sure you're consistent in their use. That is, build the C API import library from the same DLL you run the programs against, use exrun.bat to run the examples to ensure you're using the just-built version of the MySQL++ DLL instead of another you have in your PATH, etc.
Additionally, I note that you're using an older version of MySQL++. If you were on Linux, I could understand that as some distributions still ship with 3.0.9. But since you have to build MySQL++ from source with MinGW, I don't see why you're not using 3.1.0. Did you get a binary build from somewhere?
As for your PATH problem, did you restart the MinGW shell after doing this? PATH updates don't affect running programs; they keep the value they saw when they started.

How to use db-mysql extension for NodeJS under Windows?

I'm using NodeJS under Windows (with node.exe downloaded from NodeJS site). I would like to use this db-mysql extension with it ( https://github.com/mariano/node-db-mysql/ )
I have no idea how to use it. Is it necessary to rebuild the whole node.exe or is it possible to build just the extension? I'm not able to run NPM with node.exe (it results in error) as the installation instructions says.
Thanks
Sorry but you will have to have a full tool-chain(Cygwin) that can compile c. That means you have three alternatives:
Use linux (in a VM) or mac
Install node from cygwin ( https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows) )
Use another database (eg. node-dirty: https://github.com/felixge/node-dirty) that doesn't need to be compiled.
You can't use NPM (Node Package Manager) with the Windows executable node.exe as for all I know.
Instead you should download the zip/tar module from https://github.com/mariano/node-db-mysql/downloads and place the contents into a *node_modules* folder above your script(s).
Example structure:
/nodestuff
/node_modules
/db-mysql // The module
/script
app.js // Your script
Then just follow the instructions on https://github.com/mariano/node-db-mysql/ in order to create a database connection.
Good luck.

Using MySQL in R for Windows

How to use MySQL in R (statistic language) for Windows (7)?
There is no problems then using linux:
install.packages('RMySQL')
library(RMySQL)
...
But I found no such package for Windows on CRAN. There is only note about this fact.
I found package for version 2.10, but it is not usable in 2.12.1.
Also tried
install.packages("RMySQL", type="source")
but got an error :
* installing *source* package 'RMySQL' ...
ERROR: configuration failed for package 'RMySQL'
* removing 'C:/.../R/win-library/2.12/RMySQL'
Is there any way to connect to MySQL database from R in windows?
Found solution with help of ran2, who gave me link to common question. The basic process is described here, but there are several hints, So I will describe the whole solution (please change the R version and paths if needed):
Install latest RTools from here
install MySQL or header and library files of mysql
create or edit file C:\Program Files\R\R-2.12.1\etc\Renviron.site and add line like MYSQL_HOME=C:/mysql (path to your mysql files)
copy libmysql.lib from mysql/lib to mysql/lib/opt to meet dependencies.
copy libmysql.dll to C:\Program Files\R\R-2.12.1\bin or to windows/system32 directory.
run install.packages('RMySQL',type='source') and wait while compilation will end.
Thanks to all who tried to answer.
possible duplicate. However, my suggestions is to try WAMP which comes as a one click install. Admittedly you get more than you need (webserver) but the MySQL installation runs pretty well.
You need to install the MySQL headers and libraries, as explained in the installation instructions. Please do read the documentation before turning to SO.