当前位置:Gxlcms > 数据库问题 > 使用node连接mysql

使用node连接mysql

时间:2021-07-01 10:21:17 帮助过:1人阅读

安装依赖库

  1. npm install mysql

创建数据库连接

  1.  var mysql = require(‘mysql‘);
  2.  //定义连接参数
  3.  var mysqlConn = {
  4.  
  5. host:‘127.0.0.1‘,
  6.  
  7. user:‘user‘,
  8.  
  9. password:‘password‘,
  10.  
  11. database:‘nodejs‘,
  12.  
  13. port:‘3306‘
  14.  };
  15.  //创建连接
  16.  var conn = mysql.createConnection(mysqlConn);
  17.  conn.connect();
  18.  //执行sql
  19.  conn.query(‘select 1+1 as solution ‘,function(err,rows,fields){
  20.  
  21. if (err) {throw err;}
  22.  
  23. console.log(‘select result is ‘+ rows[0].so);
  24.  })
  25.  //关闭连接?
  26. conn.end();

使用数据库连接池

  1.  var mysql = require(‘mysql‘);
  2.  var mysqlConn = {
  3.  
  4. host:‘127.0.0.1‘,
  5.  
  6. user:‘root‘,
  7.  
  8. password:‘jt123456‘,
  9.  
  10. database:‘nodejs‘,
  11.  
  12. port:‘3306‘
  13.  };
  14.  
  15. var pool = mysql.createPool(mysqlConn);
  16. // 从连接池获取connection
  17. pool.getConnection(function(err,conn){
  18. if (err) {
  19. console.log(‘err when getConnection from pool:‘+err);
  20. }
  21. conn.query(‘select 1+1 as solution‘,function(err,rows){
  22. if (err) {
  23. consloe.log(‘err when query sql :‘+err);
  24. }
  25. console.log(‘solution is ‘+rows[0].solution);
  26. // 释放当前connection
  27. conn.release();
  28. });
  29. });

处理连接时的异常

  1. var mysql = require(‘mysql‘);
  2.  var mysqlConn = {
  3.  
  4. host:‘127.0.0.1‘,
  5.  
  6. user:‘root‘,
  7.  
  8. password:‘jt123456‘,
  9.  
  10. database:‘nodejs‘,
  11.  
  12. port:‘3306‘
  13.  };
  14. // 重连
  15. function handleError(){
  16. var conn =  mysql.createConnection(mysqlConn);
  17. //连接时发生异常就打印错误并在2秒后重连
  18. conn.connect(function(err){
  19. if (err) {
  20. console.log(‘err when connect with mysql server:‘+err);
  21. };
  22. setTimeout(handleError,2000);
  23. });
  24. //监听连接中的异常
  25. conn.on(‘error‘,function(err){
  26. console.log(‘err:‘+err);
  27. //断开连接时自动重连
  28. if (err.code ===‘PROTOCOL_CONNECTION_LOST‘) {
  29. handleError();
  30. }else{
  31. throw err;
  32. }
  33. });
  34. }
  35. handleEror();

参考资料:用Nodejs连接MySQL

使用node连接mysql

标签:

人气教程排行