var MySQLEvents = require('mysql-events');
var dsn = {
host: 'localhost',
user: 'root',
password: '' // no password set that's why keep blank
};
var mysqlEventWatcher = MySQLEvents(dsn);
console.log(mysqlEventWatcher);
var watcher =mysqlEventWatcher.add(
'myDB.myTable',
function (oldRow, newRow, event) {
//row inserted
if (oldRow === null) {
//insert code goes here
}
//row deleted
if (newRow === null) {
//delete code goes here
}
//row updated
if (oldRow !== null && newRow !== null) {
//update code goes here
}
//detailed event information
console.log(event); // don't matter, it updates, delete or insert
},
'Active'
);
Nehmen Code von https://www.npmjs.com/package/mysql-eventsWarum funktioniert mysql-event nicht in node.js?
Wenn ich versuche, console.log zu drucken (mysqlEventWatcher); , druckt es etwas wie das
{ started: false,
zongji: {},
databases: [],
tables: {},
columns: {},
events: [ 'tablemap', 'writerows', 'updaterows', 'deleterows' ],
triggers: [],
dsn: { host: 'localhost', user: 'root', password: '' },
settings: {},
connect: [Function: connect],
add: [Function: add],
remove: [Function: remove],
stop: [Function: stop],
reload: [Function: reload],
includeSchema: [Function: includeSchema] }
Nach diesen Code zu schreiben, habe ich bestimmte Tabelle (‚myTable‘) aktualisieren, in dem ich in mysqlEventWatcher implementieren, dann wird es nicht zu dieser Methode gehen, wie im Inneren, dass ich Druck bin Veranstaltung.
Ich weiß nicht, was, was ich
ich das gleiche Problem auftritt, binlog eingeschaltet und Im Zeilenformat hat der Benutzer die richtigen Berechtigungen, aber keine Antwort vom Rückruf –
@MichaelLWatson Stellen Sie sicher, dass Sie die Aufbewahrungszeiten nicht auf null setzen. Beispiel: mysql.rds_set_configuration ('binlog retention hours', 24); BTW: Ich benutze mysq-Ereignisse, um die Änderung auf meine Haupttabellen für Audit-Zwecke zu hören, und es funktioniert gut mit Remote-IP. – nguyendn