账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于mySQL连接的问题
    22
    0

    首先系统用的是manjaro(linux)系统,我在项目的目录下安装了mySQL,但是当我node timetrack_server.js文件时报了如下错误:

    /home/dema/codeSpace/studyNode/testMySQL/timetrack_server.js:49
            if (err) throw err;
                     ^
    
    Error: connect ECONNREFUSED 127.0.0.1:3306
        at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1121:14)
        --------------------
        at Protocol._enqueue (/home/dema/codeSpace/studyNode/testMySQL/node_modules/mysql/lib/protocol/Protocol.js:144:48)
        at Protocol.handshake (/home/dema/codeSpace/studyNode/testMySQL/node_modules/mysql/lib/protocol/Protocol.js:51:23)
        at Connection.connect (/home/dema/codeSpace/studyNode/testMySQL/node_modules/mysql/lib/Connection.js:118:18)
        at Connection._implyConnect (/home/dema/codeSpace/studyNode/testMySQL/node_modules/mysql/lib/Connection.js:453:10)
        at Connection.query (/home/dema/codeSpace/studyNode/testMySQL/node_modules/mysql/lib/Connection.js:198:8)
        at Object.<anonymous> (/home/dema/codeSpace/studyNode/testMySQL/timetrack_server.js:40:4)
        at Module._compile (internal/modules/cjs/loader.js:722:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:733:10)
        at Module.load (internal/modules/cjs/loader.js:620:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    

    timetrack_server.js的代码如下:

    var http = require('http');
    var work = require('./lib/timetrack');
    var mysql = require('mysql'); //引入MySQL API
    
    var db = mysql.createConnection({  //连接MySQL
        host: '127.0.0.1',
        user: 'myuser',
        password: 'mypassword',
        database: 'timetrack'
    });
    
    var server = http.createServer(function (req, res) {
        switch (req.method) {
            case 'POST':  //HTTP POST请求路由
                switch (req.url) {
                    case '/':
                        work.add(db, req, res);
                        break;
                    case '/archive':
                        work.archive(db, req, res);
                        break;
                    case '/delete':
                        work.delete(db, req, res);
                        break;
                }
                break;
            case 'GET':  //HTTP GET请求路由
                switch (req.url) {
                    case '/':
                        work.show(db, res);
                        break;
                    case '/archived':
                        work.showArchived(db, res);
                }
                break;
        }
    });
    
    db.query(
        "CREATE TABLE IF NOT EXISTS work ("  //建表SQL
        + "id INT(10) NOT NULL AUTO_INCREMENT, "
        + "hours DECIMAL(5,2) DEFAULT 0, "
        + "date DATE, "
        + "archived INT(1) DEFAULT 0, "
        + "description LONGTEXT,"
        + "PRIMARY KEY(id))",
        function (err) {
            if (err) throw err;
            console.log('Server started...');
            server.listen(3000, '127.0.0.1');   //启动HTTP服务器
        }
    );

    菜鸡前端一枚,第一次使用数据库,不清楚是哪里的问题,还望麻烦各位帮解答

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ㄟ留恋さ寂寞 普通会员 1楼

      在MySQL中,连接数据库通常使用以下语法:

      sql SELECT * FROM table_name;

      其中,table_name是你要查询的表的名称。

      如果你想查询特定的行,你可以使用LIMIT关键字,例如:

      sql SELECT * FROM table_name LIMIT 10;

      这将返回表中前10行的数据。

      如果你想连接到另一个数据库,你需要提供相应的服务器地址、端口号、数据库名和用户名。例如:

      sql mysql -u username -p host_name database_name

      这将连接到host_namedatabase_name数据库。

      如果你在查询时遇到错误,你可以查看MySQL的错误日志。错误日志通常位于/var/log/mysql/error.log目录中。你可以使用grep命令来查找错误消息:

      bash grep "error" /var/log/mysql/error.log

      这将返回包含所有错误消息的日志文件中的第一条记录。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部