Selecting data from mysql using qt?
-
lyut: your command sudo find /opt/lampp -name my.cnf -type f | xargs grep -n socket actually displays this. above one was wrong because i use the wrong command
@
root@zafar-laptop:/# sudo find /opt/lampp -name my.cnf -type f | xargs grep -n socket
21:socket = /opt/lampp/var/mysql/mysql.sock
28:socket = /opt/lampp/var/mysql/mysql.sock
44:# All interaction with mysqld must be made via Unix sockets or named pipes.
@ -
millions of thanks to both of you TYUT and Dii. it works. one more question can please tell me what does this command do
@
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
@and also if i want to install everything from scratch then once i have to use this command to make it work?
-
doforumda: the problem was ~small... the Qt mysql driver looks for the socket file (the connection to mysql) in the default location (var/run/mysqld/mysqld.sock), though you had it somewhere else, because your lampp package changed the path.
The "ln -s" made a symbolic link to that, so the /var/run/mysqld/mysqld.sock point to the /opt/lampp/var/mysql/mysql.sock. This way Qt can find it. If you do a new installation, with lampp, you should do it again, if you use the regular mysql package, probably, you won't face this problem.
lyuts: great work, we deserve these points :)
-
I think our solution is rough enough, but at least it works. I think the best solution is to set the socket parameter in my.cnf to /var/run/mysqld/mysqld.sock. But it is up to you doforumda.
bq. millions of thanks to both of you TYUT and Dii.
Hey, I'm lyuts, not TYUT :)
doforumda and ¤ Dii ¤, my congratulations, we did it.
-
[quote author="lyuts" date="1286886793"]I think our solution is rough enough, but at least it works. I think the best solution is to set the socket parameter in my.cnf to /var/run/mysqld/mysqld.sock. But it is up to you doforumda.
bq. millions of thanks to both of you TYUT and Dii.
Hey, I'm lyuts, not TYUT :)
doforumda and ¤ Dii ¤, my congratulations, we did it.[/quote]
sorry I wrote your name wrong
-
hi
i have got the same problem again after restarting my system.
when i execute code it again fails to connect. it returns this problem.
@
Starting /home/zafar/c++/insertquery-build-desktop/insertquery...
DB could be opened QSqlError(2002, "QMYSQL: Unable to connect", "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
/home/zafar/c++/insertquery-build-desktop/insertquery exited with code 0
@i ran this command
@
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
@
but this displays this error
@
ln: creating symbolic link `/var/run/mysqld/mysqld.sock': No such file or directory
@
i have already created this directory while lyut and Dii were solving this problem. at that time when i ran this command it worked really perfect but now it is not working.
Please help -
hmmm pretty strange, does /var/run/mysqld exits? if you try
sudo mkdir /var/run/mysqld
and then the
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
Though restart should not delete the directory, but I can't imagine anything else at the moment.
-
Hmmm... /var/run will be clear on each start, so you have to do a directory and the symlink again. You can do it with a script.
Or get rid of the whole LAMPP setup and use the regular mysql package. Maybe it's possible to run two mysql parallel, but I don't recommend that, too confusing.