Mysql
 sql >> база данни >  >> RDS >> Mysql

Превключете базата данни в пул за връзки в nodejs MySQL

Предлагам да предоставите документацията за обединяване задълбочено четене.

Казахте, че използвате conn.changeUser(/*...*/) , но след това казахте, че използвате const conn = mysql.createPool(/*...*/); за да инициализирате това conn постоянен. Това означава conn е басейн , а не връзка; не е изненадващо, че няма changeUser метод.

Ако искате да промените базата данни, трябва да го направите на връзката, а не на пула. Вместо да използвате съкратеното pool.query формуляр, бихте направили pool.getConnection /conn.changeUser /conn.query /conn.release . Първо, извикайте вашата променлива pool , а не conn :

const pool = mysql.createPool({

след това

pool.getConnection(function(err, conn) {
    if (err) {
        // handle/report error
        return;
    }
    conn.changeUser({
        database: req.session.dbname
    }, function (err) {
        if (err) {
            // handle/report error
            return;
        }
        // Use the updated connection here, eventually
        // release it:
        conn.release();
    });
});

Това каза , ако бях аз, бих ми било по-удобно да имам пул за връзки за база данни, а не общ пул, в който променяте базата данни. Това може да е чиста параноя от моя страна, но бих направил това. Но ако не използвате отделни пулове, предлагам винаги да правите changeUser така че да сте сигурни каква база данни използвате, или тествайте обстойно за да видите какво е mysql модулът прави, за да се справи с това (и повторете това тестване при всяко освобождаване на точка на модула, освен ако поддържащият документира поведението).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel:получаване на една стойност от MySQL заявка

  2. Подредете избора на ред по множество колони

  3. Как да вмъкна няколко реда въз основа на заявка?

  4. Как да рестартирате отдалечен MySQL сървър, работещ на Ubuntu linux?

  5. PHP показва изображение BLOB от MySQL