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 Updated to NodeBB v4.3 + New Features

Selecting data from mysql using qt?

Scheduled Pinned Locked Moved General and Desktop
150 Posts 7 Posters 142.7k 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 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 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 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 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 last edited by
            #120

            sorry wait

            1 Reply Last reply
            0
            • D Offline
              D Offline
              Dii
              wrote on 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

                                          • Login

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