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. Cannot establish connection to MySQL database
Qt 6.11 is out! See what's new in the release blog

Cannot establish connection to MySQL database

Scheduled Pinned Locked Moved Solved General and Desktop
15 Posts 3 Posters 6.5k Views
  • 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.
  • H Offline
    H Offline
    Hmmm
    wrote on last edited by
    #3

    I did. It returns: QSqlError("", "", "")

    1 Reply Last reply
    0
    • Cobra91151C Offline
      Cobra91151C Offline
      Cobra91151
      wrote on last edited by
      #4

      Hello!

      I checked your code. The problem could be:

      1. If you are on Windows you must copy the libmysql.dll lib to the application directory.
      2. The database server is not started/working.

      Check it and it will work. Happy coding!

      H 1 Reply Last reply
      1
      • Cobra91151C Cobra91151

        Hello!

        I checked your code. The problem could be:

        1. If you are on Windows you must copy the libmysql.dll lib to the application directory.
        2. The database server is not started/working.

        Check it and it will work. Happy coding!

        H Offline
        H Offline
        Hmmm
        wrote on last edited by
        #5

        @Cobra91151 Thank you for your answer. I checked message log on MySQL, it says: 2019-06-30 16:15:59 - MySQL server is currently running
        Also I did copy libmysql.dll to the application directory but nothing helps :(

        Cobra91151C 1 Reply Last reply
        0
        • Christian EhrlicherC Offline
          Christian EhrlicherC Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on last edited by
          #6

          Then please check with e.g. Dependency Walker if your qt mysql plugin really finds all necessary libraries.
          And where did you check for lastError?

          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
          Visit the Qt Academy at https://academy.qt.io/catalog

          H 1 Reply Last reply
          1
          • H Hmmm

            @Cobra91151 Thank you for your answer. I checked message log on MySQL, it says: 2019-06-30 16:15:59 - MySQL server is currently running
            Also I did copy libmysql.dll to the application directory but nothing helps :(

            Cobra91151C Offline
            Cobra91151C Offline
            Cobra91151
            wrote on last edited by
            #7

            @Hmmm

            Ok. Try to navigate to the application directory and check if it contains: sqldrivers directory with qsqlmysql.dll lib?

            H 1 Reply Last reply
            1
            • Christian EhrlicherC Christian Ehrlicher

              Then please check with e.g. Dependency Walker if your qt mysql plugin really finds all necessary libraries.
              And where did you check for lastError?

              H Offline
              H Offline
              Hmmm
              wrote on last edited by
              #8

              @Christian-Ehrlicher I checked for lastError in the MainWindow, its not written above as I tried that later.
              About Dependeny Walker, I'm not very familiar with it, is this what I'm supposed to do:alt text

              1 Reply Last reply
              0
              • Cobra91151C Cobra91151

                @Hmmm

                Ok. Try to navigate to the application directory and check if it contains: sqldrivers directory with qsqlmysql.dll lib?

                H Offline
                H Offline
                Hmmm
                wrote on last edited by
                #9

                @Cobra91151 This is what my application directory contains:
                0_1561906819643_969b9860-924a-4ccd-bd79-f1476b6ff7f6-image.png

                Cobra91151C 1 Reply Last reply
                0
                • H Hmmm

                  @Cobra91151 This is what my application directory contains:
                  0_1561906819643_969b9860-924a-4ccd-bd79-f1476b6ff7f6-image.png

                  Cobra91151C Offline
                  Cobra91151C Offline
                  Cobra91151
                  wrote on last edited by
                  #10

                  @Hmmm

                  It is source directory. Application directory is where your .exe file is present (Debug/Release dir)! That's why it can't locate the MySQL libs. Copy libmysql.dll into Debug/Release dir (it depends on your Qt Creator configuration) and start the program. It 100% must work :)

                  H 1 Reply Last reply
                  1
                  • Christian EhrlicherC Offline
                    Christian EhrlicherC Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on last edited by
                    #11

                    @Hmmm said in Cannot establish connection to MySQL database:

                    I checked for lastError in the MainWindow, its not written above as I tried that later.

                    You have to call it after db.open()
                    And you should check the qt mysql plugin, not the mysql dll ... it's qsqlmysql.dll/qsqlmysqld.dll and the location is for sure not in your source tree...

                    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                    Visit the Qt Academy at https://academy.qt.io/catalog

                    H 1 Reply Last reply
                    0
                    • Christian EhrlicherC Christian Ehrlicher

                      @Hmmm said in Cannot establish connection to MySQL database:

                      I checked for lastError in the MainWindow, its not written above as I tried that later.

                      You have to call it after db.open()
                      And you should check the qt mysql plugin, not the mysql dll ... it's qsqlmysql.dll/qsqlmysqld.dll and the location is for sure not in your source tree...

                      H Offline
                      H Offline
                      Hmmm
                      wrote on last edited by
                      #12

                      @Christian-Ehrlicher Ok, about lastError, I put it after and it says:

                      QSqlError("2059", "QMYSQL: Unable to connect", "Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found.\r\n")`
                      

                      And this is the ouput of qsqlmysql.dll in Dependeny Walker:

                      Error: At least one required implicit or forwarded dependency was not found.
                      Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
                      Error: Modules with different CPU types were found.
                      Error: A circular dependency was detected.
                      Warning: At least one delay-load dependency module was not found.
                      Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
                      
                      1 Reply Last reply
                      0
                      • Cobra91151C Cobra91151

                        @Hmmm

                        It is source directory. Application directory is where your .exe file is present (Debug/Release dir)! That's why it can't locate the MySQL libs. Copy libmysql.dll into Debug/Release dir (it depends on your Qt Creator configuration) and start the program. It 100% must work :)

                        H Offline
                        H Offline
                        Hmmm
                        wrote on last edited by
                        #13

                        @Cobra91151 Ok, my mistake. I did that now but still the same problem

                        1 Reply Last reply
                        0
                        • Christian EhrlicherC Offline
                          Christian EhrlicherC Offline
                          Christian Ehrlicher
                          Lifetime Qt Champion
                          wrote on last edited by
                          #14

                          @Hmmm said in Cannot establish connection to MySQL database:

                          Authentication plugin 'caching_sha2_password' cannot be loaded: The specified module could not be found.

                          So this is a mysql problem, don't see what Qt can do against it. Maybe google can help here.

                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                          Visit the Qt Academy at https://academy.qt.io/catalog

                          1 Reply Last reply
                          2
                          • H Offline
                            H Offline
                            Hmmm
                            wrote on last edited by
                            #15

                            Omg, I finally did it with running this SQL query:

                            ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
                            

                            Thank you all for helping me :D

                            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