Need assistance with accessing mysql database using node.js

后端 未结 6 1616
清酒与你
清酒与你 2021-01-06 03:08

I am trying to run a simple node sample for access a mysql db and am getting the following error-Error: ER_ACCESS_DENIED_ERROR: Access denied for user \'root\'@\'ubuntu.loca

相关标签:
6条回答
  • 2021-01-06 03:41

    Actually the solution is easier than you think. Change the host to 127.0.0.1 for the database connection.

    0 讨论(0)
  • 2021-01-06 03:43

    I had a similar problem,my nodejs project.I was using knex.js for querybuilder and it's configuration.

    This problem occurs when host value is 127.0.0.1,when i changed to 127.0.0.1 to localhost,the problem is gone away.

    var knex = require('knex')({
        client: 'mysql',
        connection: {
            **host: 'localhost',**
            user: 'userNew',
            password: 'password',
            database: 'appDb'
        }
    });
    
    0 讨论(0)
  • 2021-01-06 03:48

    I was getting the exact same issue. I was not able to connect via the mysql module in nodejs, but was able to connect via the mysql client in the terminal (mysql -u root -p1111 -h localhost mydb)

    It turns out, the mysql module converts "localhost" to 127.0.0.1. This would not work via the (mysql -u root -p1111 -h 127.0.0.1 mydb). See Issue 734

    So I had to set a password for 127.0.0.1 in MySQL and it solved the problem.

    Instructions

    Connect to mysql via the console:

    mysql -u root -p mysql
    

    And Run

    SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('Add-Your_password-here');
    

    Source

    0 讨论(0)
  • 2021-01-06 03:50

    The user might not have any administrative role assigned so he is not able to access the database. The user will need at least the SELECT privilege to connect.

    More info here: https://dev.mysql.com/doc/workbench/en/wb-mysql-connections-navigator-management-users-and-privileges.html

    0 讨论(0)
  • 2021-01-06 03:53

    I've been on this problem for a long time now and among all forums I did, one simple solution resolve my issue. My password was with some special character. I change it to a simpler one like "onlyletters" and it works perfectly. Probably a encoding problem in the nodejs mysql module, I can... Hope it would help some of you guys...

    0 讨论(0)
  • 2021-01-06 03:59

    I had a similar problem where I was getting the same error.

    The answer for me ended up being that I was using a different port. By default, mysql expects a port of 3306, but I was using MAMP, where the MySQL server port was specified as 8889. As soon as I added a port definition to my database connection, it was fine:

    var connection = mysql.createConnection({
        port: 8889,
        user: 'root',
        password : 'password',
        database : 'my_database'
    });
    

    NOTE: This is for Mac using MAMP, haven't tried it on ubuntu or Windows.

    0 讨论(0)
提交回复
热议问题