• 05-09-2024, 16:35:49
    #1
    Merhaba,

    bir nodejs projemiz var. Bu projeyi cpanel'e yükledik birçok arkadaş baktı ama çözüme kavuşturamadık. Database error hatası alıyoruz sürekli


    Bu hatayı çözemedik. sistem açılmıyor. Deneyimli bilgili arkadaşlar ileteşime geçebilirse sevinirim.




    Veritabanı Bağlantısı Başarısız.: ConnectionError [SequelizeConnectionError]: connect ETIMEDOUT
    at ConnectionManager.connect (/home/siteurl/nodevenv/app/16/lib/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:102:17)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionManager._connect (/home/siteurl/nodevenv/app/16/lib/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:222:24)
    at async /home/siteurl/nodevenv/app/16/lib/node_modules/sequelize/lib/dialects/abstract/connection-manager.js:174:32 {
    parent: Error: connect ETIMEDOUT
    at Connection._handleTimeoutError (/home/siteurl/nodevenv/app/16/lib/node_modules/mysql2/lib/connection.js:205:17)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7) {
    errorno: 'ETIMEDOUT',
    code: 'ETIMEDOUT',
    syscall: 'connect',
    fatal: true
    },
    original: Error: connect ETIMEDOUT
    at Connection._handleTimeoutError (/home/siteurl/nodevenv/app/16/lib/node_modules/mysql2/lib/connection.js:205:17)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7) {
    errorno: 'ETIMEDOUT',
    code: 'ETIMEDOUT',
    syscall: 'connect',
    fatal: true
    }
  • 05-09-2024, 16:37:58
    #2
    Hocam sunucu üzerinden değilde başka bir yerden dbye bağlanmayı denediniz mi?
  • 05-09-2024, 16:39:52
    #3
    Bağlantı zaman süresinin az olması da tetikleyebilir connectTimeout: 60000 mesela bu 60 sn gibi veritabanı sunucunuz yoğun olabilir
  • 05-09-2024, 16:40:18
    #4
    [SequelizeConnectionError]: connect ETIMEDOUT

    Veritabanı sunucusuna erişemiyorsunuz. MySQL sunucusunun aktif ve bağlanmayı çalıştığınız portta çalıştığından emin olun.
  • 05-09-2024, 16:40:33
    #5
    ETIMEDOUT , zaman aşımına uğradığını söylüyor olabilir hocam yüklemeye çalıştığınız veritabanı büyük mü?
  • 05-09-2024, 16:41:35
    #6
    emrebeyazit adlı üyeden alıntı: mesajı görüntüle
    ETIMEDOUT , zaman aşımına uğradığını söylüyor olabilir hocam yüklemeye çalıştığınız veritabanı büyük mü?
    2mb
    2mb
  • 05-09-2024, 16:50:25
    #7
    sequelize nesnesi oluÅŸturduÄŸunuz koda bakabilir miyim?
  • 05-09-2024, 16:52:49
    #8
    csharpcoder adlı üyeden alıntı: mesajı görüntüle
    sequelize nesnesi oluÅŸturduÄŸunuz koda bakabilir miyim?
    // Sequelize ile bağlantıyı kur
    const sequelize = new Sequelize(config.sequelize.database, config.sequelize.username, config.sequelize.password, {
      host: config.sequelize.host,
      port: config.PORT,
      dialect: config.sequelize.dialect,
      pool: {
          max: 100,
          min: 0,
          acquire: 1000000,
          idle: 100000,
          evict: 2000,
        },
      logging: false,
      define: {
        timestamps: false,
      },
    });
    
    sequelize
      .authenticate()
      .then(() => {
        console.log('Veritabanı Bağlantısı Başarılı.');
      })
      .catch((err) => {
        console.error('Veritabanı Bağlantısı Başarısız.:', err);
      });
    
    global.sequelize = sequelize;
    
    // Session modelini tanımla ve tabloyu oluştur
    const Session = sequelize.define('sessions', {
      sid: {
        type: DataTypes.STRING,
        primaryKey: true,
      },
      expires: {
        type: DataTypes.DATE,
      },
      data: {
        type: DataTypes.TEXT,
      },
    });
    
    Session.sync();
    Config.js
    module.exports = {
      PORT: 3306,
      sequelize: {
        database: 'db',
        username: 'dynamo',
        password: 'password'
        host: 'localhost',
        dialect: 'mysql',
        connectTimeout: 6000000,
      },
    };
  • 05-09-2024, 17:09:52
    #9
    localhost yerine 127.0.0.1 veya sunucu ip adresini girerek deneyin.