pool.query('SELECT * FROM `table` ', function(err, rows, fields) { //pool.end(); if (!err) { data = {data: rows}; } else { log.error('Error while performing Query.' + err); } });
/* GET home page. */ router.get('/', function(req, res, next) { res.render('index', data); });
И при этом, выводится все из таблицы. Но, например, я сторонним инструментом (phpmyadmin) удалил из БД одну строку и добавил новых 10, а изменения на моей странице nodejs не отображаются, там по прежнему только изначальные данные. Отобразятся текущие данные, те изменения что произошли, только если перезапустить ноду. Почему так? что я делаю не правильно?
Оптимизайка, так, а как poll сделать глобальным чтоб нигде не использовать:
var mysql = require('mysql'); var pool = mysql.createPool
Или без этого никак?
p.s. и при установке этого модуля вот что я получил:
C:\Users\sanu0074\WebstormProjects\test>npm install felixge/node-mysql npm WARN addRemoteGit Error: not found: git npm WARN addRemoteGit at F (C:\Program Files\nodejs\node_modules\npm\node_mo dules\which\which.js:72:28) npm WARN addRemoteGit at E (C:\Program Files\nodejs\node_modules\npm\node_mo dules\which\which.js:75:29) npm WARN addRemoteGit at C:\Program Files\nodejs\node_modules\npm\node_modul es\which\which.js:83:16 npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:95:15) npm WARN addRemoteGit felixge/node-mysql resetting remote C:\Users\sanu0074\App Data\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git-808786 65 because of error: { [Error: not found: git] code: 'ENOGIT' } npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r emotes\_templates --mirror git://github.com/felixge/node-mysql.git C:\Users\sanu 0074\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-gi t-80878665: undefined npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r emotes\_templates --mirror git://github.com/felixge/node-mysql.git C:\Users\sanu 0074\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-gi t-80878665: undefined npm WARN addRemoteGit Error: not found: git npm WARN addRemoteGit at F (C:\Program Files\nodejs\node_modules\npm\node_mo dules\which\which.js:72:28) npm WARN addRemoteGit at E (C:\Program Files\nodejs\node_modules\npm\node_mo dules\which\which.js:75:29) npm WARN addRemoteGit at C:\Program Files\nodejs\node_modules\npm\node_modul es\which\which.js:83:16 npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:95:15) npm WARN addRemoteGit felixge/node-mysql resetting remote C:\Users\sanu0074\App Data\Roaming\npm-cache\_git-remotes\https-github-com-felixge-node-mysql-git-cb83 b7f6 because of error: { [Error: not found: git] code: 'ENOGIT' } npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r emotes\_templates --mirror https://github.com/felixge/node-mysql.git C:\Users\sa nu0074\AppData\Roaming\npm-cache\_git-remotes\https-github-com-felixge-node-mysq l-git-cb83b7f6: undefined npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r emotes\_templates --mirror https://github.com/felixge/node-mysql.git C:\Users\sa nu0074\AppData\Roaming\npm-cache\_git-remotes\https-github-com-felixge-node-mysq l-git-cb83b7f6: undefined npm WARN addRemoteGit Error: not found: git npm WARN addRemoteGit at F (C:\Program Files\nodejs\node_modules\npm\node_mo dules\which\which.js:72:28) npm WARN addRemoteGit at E (C:\Program Files\nodejs\node_modules\npm\node_mo dules\which\which.js:75:29) npm WARN addRemoteGit at C:\Program Files\nodejs\node_modules\npm\node_modul es\which\which.js:83:16 npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:95:15) npm WARN addRemoteGit felixge/node-mysql resetting remote C:\Users\sanu0074\App Data\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git-984047 cf because of error: { [Error: not found: git] code: 'ENOGIT' } npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r emotes\_templates --mirror git@github.com:felixge/node-mysql.git C:\Users\sanu00 74\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git- 984047cf: undefined npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r emotes\_templates --mirror git@github.com:felixge/node-mysql.git C:\Users\sanu00 74\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git- 984047cf: undefined npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs \\node_modules\\npm\\bin\\npm-cli.js" "install" "felixge/node-mysql" npm ERR! node v0.12.7 npm ERR! npm v2.11.3 npm ERR! code ENOGIT
npm ERR! not found: git npm ERR! npm ERR! Failed using git. npm ERR! This is most likely not a problem with npm itself. npm ERR! Please check if you have git installed and in your PATH.
npm ERR! Please include the following file with any support request: npm ERR! C:\Users\sanu0074\WebstormProjects\test\npm-debug.log
Похоже что ругается на GIT, но он установлен и работает
pupseg, может и оно, но там все же даются права владельца виртуальному пользоватлю, а будет ли читать/писать этот виртуальный пользователь папки которые принадлежат www:data ?
LinuxMan, мой домашний провайдер говорит, что возможность менять птр у них, имеют только юр лица.. так что приходится юзать яндекс. На гугл эти письма напрямую даже не доходят без птр, хотя я сделал DKIM и dmark. А вот на яндекс и маил шлются... вобщем никак без яши. Дома попробую ваш вариант с ssmtp, хотя глядя в интернетах все хвалят постфикс
Оптимизайка, туплю) теперь работает, спасибо!
---------- Добавлено 27.07.2015 в 02:50 ----------
Оптимизайка, получается, я так понимаю, в итоге, на каждый скрипт (как например в этом index.js) имеем одно вечное открытое подключение?
var pool = mysql.createConnection({
connectionLimit : 10,
host : 'localhost',
user : 'test',
password : '1111',
database : 'test'
});
pool.connect(....
И это есть правильно?
Ну, например для какого-нибудь user.js, будет также как и в index.js объявлено
var pool = mysql.createConnection({......
---------- Добавлено 27.07.2015 в 02:51 ----------
Sanu0074, или может есть смысл создать отдельный модуль, в нем приконнектиться раз, и потом юзать это по всему приложению?
Оптимизайка, вот я сделал в данном случае так:
var mysql = require('mysql');
var pool = mysql.createConnection({
connectionLimit : 10,
host : 'localhost',
user : 'test',
password : '1111',
database : 'test'
});
pool.connect(function(err){
if(!err) {
log.info("Database is connected ");
} else {
log.error("Error connecting database ");
}
});
var data = null;
pool.query('SELECT * FROM `table` ', function(err, rows, fields) {
//pool.end();
if (!err) {
data = {data: rows};
}
else {
log.error('Error while performing Query.' + err);
}
});
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', data);
});
И при этом, выводится все из таблицы. Но, например, я сторонним инструментом (phpmyadmin) удалил из БД одну строку и добавил новых 10, а изменения на моей странице nodejs не отображаются, там по прежнему только изначальные данные. Отобразятся текущие данные, те изменения что произошли, только если перезапустить ноду. Почему так? что я делаю не правильно?
Оптимизайка, p.s. выполнил так команду:
Заработало, хотя на гитхабе так написано
---------- Добавлено 27.07.2015 в 02:22 ----------
Но, как же теперь сделать poll глобальным? Я не оч что-то пойму...
Выдает git version 1.9.5.msysgit.1
Вот что в git bash нарисовало при установке:
Оптимизайка, так, а как poll сделать глобальным чтоб нигде не использовать:
var pool = mysql.createPool
Или без этого никак?
p.s. и при установке этого модуля вот что я получил:
npm WARN addRemoteGit Error: not found: git
npm WARN addRemoteGit at F (C:\Program Files\nodejs\node_modules\npm\node_mo
dules\which\which.js:72:28)
npm WARN addRemoteGit at E (C:\Program Files\nodejs\node_modules\npm\node_mo
dules\which\which.js:75:29)
npm WARN addRemoteGit at C:\Program Files\nodejs\node_modules\npm\node_modul
es\which\which.js:83:16
npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:95:15)
npm WARN addRemoteGit felixge/node-mysql resetting remote C:\Users\sanu0074\App
Data\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git-808786
65 because of error: { [Error: not found: git] code: 'ENOGIT' }
npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r
emotes\_templates --mirror git://github.com/felixge/node-mysql.git C:\Users\sanu
0074\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-gi
t-80878665: undefined
npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r
emotes\_templates --mirror git://github.com/felixge/node-mysql.git C:\Users\sanu
0074\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-gi
t-80878665: undefined
npm WARN addRemoteGit Error: not found: git
npm WARN addRemoteGit at F (C:\Program Files\nodejs\node_modules\npm\node_mo
dules\which\which.js:72:28)
npm WARN addRemoteGit at E (C:\Program Files\nodejs\node_modules\npm\node_mo
dules\which\which.js:75:29)
npm WARN addRemoteGit at C:\Program Files\nodejs\node_modules\npm\node_modul
es\which\which.js:83:16
npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:95:15)
npm WARN addRemoteGit felixge/node-mysql resetting remote C:\Users\sanu0074\App
Data\Roaming\npm-cache\_git-remotes\https-github-com-felixge-node-mysql-git-cb83
b7f6 because of error: { [Error: not found: git] code: 'ENOGIT' }
npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r
emotes\_templates --mirror https://github.com/felixge/node-mysql.git C:\Users\sa
nu0074\AppData\Roaming\npm-cache\_git-remotes\https-github-com-felixge-node-mysq
l-git-cb83b7f6: undefined
npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r
emotes\_templates --mirror https://github.com/felixge/node-mysql.git C:\Users\sa
nu0074\AppData\Roaming\npm-cache\_git-remotes\https-github-com-felixge-node-mysq
l-git-cb83b7f6: undefined
npm WARN addRemoteGit Error: not found: git
npm WARN addRemoteGit at F (C:\Program Files\nodejs\node_modules\npm\node_mo
dules\which\which.js:72:28)
npm WARN addRemoteGit at E (C:\Program Files\nodejs\node_modules\npm\node_mo
dules\which\which.js:75:29)
npm WARN addRemoteGit at C:\Program Files\nodejs\node_modules\npm\node_modul
es\which\which.js:83:16
npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:95:15)
npm WARN addRemoteGit felixge/node-mysql resetting remote C:\Users\sanu0074\App
Data\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git-984047
cf because of error: { [Error: not found: git] code: 'ENOGIT' }
npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r
emotes\_templates --mirror git@github.com:felixge/node-mysql.git C:\Users\sanu00
74\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git-
984047cf: undefined
npm ERR! git clone --template=C:\Users\sanu0074\AppData\Roaming\npm-cache\_git-r
emotes\_templates --mirror git@github.com:felixge/node-mysql.git C:\Users\sanu00
74\AppData\Roaming\npm-cache\_git-remotes\git-github-com-felixge-node-mysql-git-
984047cf: undefined
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs
\\node_modules\\npm\\bin\\npm-cli.js" "install" "felixge/node-mysql"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code ENOGIT
npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.
npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\sanu0074\WebstormProjects\test\npm-debug.log
Похоже что ругается на GIT, но он установлен и работает
VHS, как узнать? я не нашел в списке процессов. Вероятно как и апач от www-data?
может у вас где то по пути лежит .htaccess с deny from all ??
или пишите не в ту папку, ошибку смотрите внимательно.
нет
p.s. уже пофиксил, нужно было рекурсивно поменять права и принадлежность
1. каталоги: sudo find /path/to/docroot -type d -exec chmod u=rwx,go=rx {} +
2. файлы: sudo find /path/to/docroot -type f -exec chmod u=rw,go=r {} +
3. принадлежность: sudo chown -R www:data /path/to/docroot
pupseg, может и оно, но там все же даются права владельца виртуальному пользоватлю, а будет ли читать/писать этот виртуальный пользователь папки которые принадлежат www:data ?
RAS, эта проблема оказалась в самой винде, при любой команде. не решил ее еще
LinuxMan, мой домашний провайдер говорит, что возможность менять птр у них, имеют только юр лица.. так что приходится юзать яндекс. На гугл эти письма напрямую даже не доходят без птр, хотя я сделал DKIM и dmark. А вот на яндекс и маил шлются... вобщем никак без яши. Дома попробую ваш вариант с ssmtp, хотя глядя в интернетах все хвалят постфикс