Selecting data from mysql using qt?
-
¤ Dii ¤, maybe this would be easier?
@sudo find /opt/lampp -name my.cnf -type f | xargs grep -n socket@
-
Dii: i use this command sudo gedit /opt/lamp/etc/my.cnf but unfortunately the file is empty. there is nothing in it.
lyut: your command sudo find /opt/lampp -name my.cnf -type f | xargs grep -n socket
displays this
@
root@zafar-laptop:/# sudo find /opt/lampp -name my.cnf -type f | xargs
/opt/lampp/etc/my.cnf
@ -
sorry wait
-
lyuts: yes it should be easier...
doforumda: i misstyped the command, try this:
sudo gedit /opt/lampp/etc/my.cnf -
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.
@ -
lyut: sudo gedit /opt/lampp/etc/my.cnf this command does open my.cnf and it also have
socket = /opt/lampp/var/mysql/mysql.sock
in two lines means there are two entries for socket in my.cnf
-
I think this is rather rough solution, but worth trying:
@sudo mkdir -p /var/run/mysqld
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock@ -
so what next i think here the path for socket is correct because i have one mysql.sock file in that exactly same directory
-
you mean i should create a dir at opt/lampp/var/run/mysqld ????
-
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.
-
lyuts: I think that's the best solution, if he is changing the socket parameter of mysql probably he will screw up some other components in his LAMPP configuration. I don't recommend that.
-
I don't know what's going on within LAMPP and you might be right. It's just creating this symlink looks more like a workaround.
-
[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
-
with 131 replies, I think this must be the longest threaded discussion in devnet forum so far !!!
congrats to you guys for sticking till the end and solving it :) -
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 -
Welcome back :)
Let's check to existence of those sock files...
sudo ls -l /opt/lampp/var/mysql/mysql.sock
sudo ls -l /var/run/mysqld/mysqld.sock
-
well mysql.sock is there
but there is no such thing in mysqld. i mean there is no mysqld.sock file in mysqld folder -
thank god your are here
127/150