Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Selecting data from mysql using qt?
Forum Update on Tuesday, May 27th 2025

Selecting data from mysql using qt?

Scheduled Pinned Locked Moved General and Desktop
150 Posts 7 Posters 142.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dii
    wrote on 12 Oct 2010, 11:47 last edited by
    #116

    ok doforumda, that's enough... I want to make it sure, can you check, the
    sudo ls -l /opt/lampp/etc/my.cnf
    or
    sudo ls -l /opt/lampp/etc/mysql/my.cnf
    ?
    If one of them is there, let's take a look with gedit, for the
    socket = /something
    part?

    1 Reply Last reply
    0
    • D Offline
      D Offline
      Dii
      wrote on 12 Oct 2010, 11:48 last edited by
      #117

      ok, then
      sudo gedit /opt/lamp/etc/my.cnf

      look for the socket = something line

      1 Reply Last reply
      0
      • L Offline
        L Offline
        lyuts
        wrote on 12 Oct 2010, 11:49 last edited by
        #118

        ¤ Dii ¤, maybe this would be easier?

        @sudo find /opt/lampp -name my.cnf -type f | xargs grep -n socket@

        I'm a rebel in the S.D.G.

        1 Reply Last reply
        0
        • D Offline
          D Offline
          doforumda
          wrote on 12 Oct 2010, 11:52 last edited by
          #119

          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
          @

          1 Reply Last reply
          0
          • D Offline
            D Offline
            doforumda
            wrote on 12 Oct 2010, 11:53 last edited by
            #120

            sorry wait

            1 Reply Last reply
            0
            • D Offline
              D Offline
              Dii
              wrote on 12 Oct 2010, 11:55 last edited by
              #121

              lyuts: yes it should be easier...

              doforumda: i misstyped the command, try this:
              sudo gedit /opt/lampp/etc/my.cnf

              1 Reply Last reply
              0
              • D Offline
                D Offline
                doforumda
                wrote on 12 Oct 2010, 11:55 last edited by
                #122

                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.
                @

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  doforumda
                  wrote on 12 Oct 2010, 11:59 last edited by
                  #123

                  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

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    lyuts
                    wrote on 12 Oct 2010, 12:10 last edited by
                    #124

                    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@

                    I'm a rebel in the S.D.G.

                    1 Reply Last reply
                    0
                    • D Offline
                      D Offline
                      doforumda
                      wrote on 12 Oct 2010, 12:10 last edited by
                      #125

                      so what next i think here the path for socket is correct because i have one mysql.sock file in that exactly same directory

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        doforumda
                        wrote on 12 Oct 2010, 12:13 last edited by
                        #126

                        you mean i should create a dir at opt/lampp/var/run/mysqld ????

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          doforumda
                          wrote on 12 Oct 2010, 12:20 last edited by
                          #127

                          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?

                          1 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            Dii
                            wrote on 12 Oct 2010, 12:28 last edited by
                            #128

                            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 :)

                            1 Reply Last reply
                            0
                            • L Offline
                              L Offline
                              lyuts
                              wrote on 12 Oct 2010, 12:33 last edited by
                              #129

                              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.

                              I'm a rebel in the S.D.G.

                              1 Reply Last reply
                              0
                              • D Offline
                                D Offline
                                Dii
                                wrote on 12 Oct 2010, 12:45 last edited by
                                #130

                                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.

                                1 Reply Last reply
                                0
                                • L Offline
                                  L Offline
                                  lyuts
                                  wrote on 12 Oct 2010, 13:34 last edited by
                                  #131

                                  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.

                                  I'm a rebel in the S.D.G.

                                  1 Reply Last reply
                                  0
                                  • D Offline
                                    D Offline
                                    doforumda
                                    wrote on 12 Oct 2010, 14:48 last edited by
                                    #132

                                    [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

                                    1 Reply Last reply
                                    0
                                    • ? This user is from outside of this forum
                                      ? This user is from outside of this forum
                                      Guest
                                      wrote on 12 Oct 2010, 15:17 last edited by
                                      #133

                                      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 :)

                                      1 Reply Last reply
                                      0
                                      • D Offline
                                        D Offline
                                        doforumda
                                        wrote on 13 Oct 2010, 15:52 last edited by
                                        #134

                                        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

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          Dii
                                          wrote on 13 Oct 2010, 17:02 last edited by
                                          #135

                                          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

                                          1 Reply Last reply
                                          0

                                          125/150

                                          12 Oct 2010, 12:10

                                          • Login

                                          • Login or register to search.
                                          125 out of 150
                                          • First post
                                            125/150
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved