I also don't know if this is relevant or important, but I note that the
subsequent failing
SQL UPDATE statements are referencing columns which do not exist in the
acct_v8 table.
Here's an example; note that the schema defines column "port_src", not the
missing "src_port":

UPDATE `acct_v8` SET packets=packets+21, bytes=bytes+9818 WHERE
ip_src=INET6_ATON('192.168.50.133') AND
ip_dst=INET6_ATON('239.255.255.250') AND src_port=0 AND dst_port=0 AND
ip_proto='0' AND mac_src='0:0:0:0:0:0' AND mac_dst='0:0:0:0:0:0'
ERROR ( default_mysql/mysql ): Unknown column 'src_port' in 'where clause'

Here's the running DB:
mysql> describe acct_v8;
+----------------+---------------------+------+-----+---------+-------+
| Field          | Type                | Null | Key | Default | Extra |
+----------------+---------------------+------+-----+---------+-------+
| agent_id       | int(4) unsigned     | NO   | PRI | NULL    |       |
| class_id       | char(16)            | NO   | PRI | NULL    |       |
| mac_src        | char(17)            | NO   | PRI | NULL    |       |
| mac_dst        | char(17)            | NO   | PRI | NULL    |       |
| vlan           | int(2) unsigned     | NO   | PRI | NULL    |       |
| as_src         | int(4) unsigned     | NO   | PRI | NULL    |       |
| as_dst         | int(4) unsigned     | NO   | PRI | NULL    |       |
| ip_src         | char(15)            | NO   | PRI | NULL    |       |
| ip_dst         | char(15)            | NO   | PRI | NULL    |       |
| port_src       | int(2) unsigned     | NO   | PRI | NULL    |       |
| port_dst       | int(2) unsigned     | NO   | PRI | NULL    |       |
| tcp_flags      | int(4) unsigned     | NO   |     | NULL    |       |
| ip_proto       | char(6)             | NO   | PRI | NULL    |       |
| tos            | int(4) unsigned     | NO   | PRI | NULL    |       |
| packets        | int(10) unsigned    | NO   |     | NULL    |       |
| bytes          | bigint(20) unsigned | NO   |     | NULL    |       |
| flows          | int(10) unsigned    | NO   |     | NULL    |       |
| stamp_inserted | datetime            | NO   | PRI | NULL    |       |
| stamp_updated  | datetime            | YES  |     | NULL    |       |
+----------------+---------------------+------+-----+---------+-------+
19 rows in set (0.00 sec)



On Thu, Nov 2, 2017 at 1:58 PM, Nicholas Geovanis <nickgeova...@gmail.com>
wrote:

> On Thu, Nov 2, 2017 at 11:59 AM, Yann Belin <y.belin...@gmail.com> wrote:
>
>> Hi Nicholas,
>>
>> How is your MySQL user defined, xxx@'localhost'?
>>
> Hi -
> I've tried both pmacct and pmacct@localhost in the conf file, but the
> result is the same. Also tried
> with and without quotes.
>
> Perhaps not related, but I also noticed a syntax error message in the conf
> file from the following line:
> plugins: mysql
> Leaving that line out of the conf file causes the error message to not
> appear at startup, but doesn't attain
> database connection either. Here are the log lines in that case (note the
> sql_passwd is the shipped default):
>
> DEBUG: [/home/nick/src/pmacct.conf] plugins:mysql
> WARN: [/home/nick/src/pmacct.conf:11] Unable to handle key: plugins.
> Ignored.
> INFO ( default/core ): Promiscuous Mode Accounting Daemon, pmacctd 1.7.0
> (20170924-00+c1)
>
> Here is the full startup log without the "plugins: mysql" line in the conf
> file. Note that the sql_passwd is set to
> the shipped default:
>
> root@nick-OptiPlex-755:/home/nick/src/pmacct-1.7.0#
> /usr/local/sbin/pmacctd -d -P mysql -f /home/nick/src/pmacct.conf
> 192.168.50.211
> DEBUG: [/home/nick/src/pmacct.conf] plugin name/type: 'default'/'core'.
> DEBUG: [/home/nick/src/pmacct.conf] plugin name/type:
> 'default_mysql'/'mysql'.
> DEBUG: [/home/nick/src/pmacct.conf] daemonize:false
> DEBUG: [/home/nick/src/pmacct.conf] aggregate:src_host, dst_host
> DEBUG: [/home/nick/src/pmacct.conf] interface:enp0s25
> DEBUG: [/home/nick/src/pmacct.conf] sql_db:pmacct
> DEBUG: [/home/nick/src/pmacct.conf] sql_user:pmacct
> DEBUG: [/home/nick/src/pmacct.conf] sql_passwd:arealsmartpwd
> DEBUG: [/home/nick/src/pmacct.conf] sql_table:acct_v8
> DEBUG: [/home/nick/src/pmacct.conf] sql_num_hosts:true
> DEBUG: [/home/nick/src/pmacct.conf] debug:true
> INFO ( default/core ): Promiscuous Mode Accounting Daemon, pmacctd 1.7.0
> (20170924-00+c1)
> INFO ( default/core ):  '--enable-mysql' '--enable-l2' '--enable-ipv6'
> '--enable-64bit' '--enable-threads' '--enable-traffic-bins'
> '--enable-bgp-bins' '--enable-bmp-bins' '--enable-st-bins'
> INFO ( default/core ): Reading configuration file
> '/home/nick/src/pmacct.conf'.
> INFO ( default_mysql/mysql ): plugin_pipe_size=4096000 bytes
> plugin_buffer_size=288 bytes
> INFO ( default_mysql/mysql ): ctrl channel: obtained=212992 bytes
> target=113776 bytes
> INFO ( default_mysql/mysql ): cache entries=32771 base cache
> memory=11631392 bytes
> INFO ( default/core ): link type is: 1
>
>> Yann
>> On Thu, Nov 2, 2017, 17:54 Nicholas Geovanis <nickgeova...@gmail.com>
>> wrote:
>>
>>> Hi -
>>> I have pmacct 1.7.0 installed from source on an Ubuntu 17.10 system
>>> running MySQL 5.7. Just experimenting so far. I have specified both
>>> sql_user and sql_passwd (and sql_table and sql_db) in the conf file, run
>>> the initialization sql successfully, and started pmacctd like this:
>>>
>>> /home/nick/src/pmacct-1.7.0# /usr/local/sbin/pmacctd -d -P mysql -f
>>> /home/nick/src/pmacct.conf 192.168.50.211
>>>
>>> No matter what I do, pmacctd cannot connect to the database:
>>>
>>> ERROR ( default_mysql/mysql ): PRIMARY 'mysql' backend trouble.
>>> ERROR ( default_mysql/mysql ): The SQL server says: Access denied for
>>> user 'pmacct'@'localhost' (using password: YES)
>>>
>>> Despite this, I can successfully connect using the very same password
>>> which is defined in the pmacct.conf file if I type it by hand:
>>> "nick@nick-OptiPlex-755:~$ mysql -u pmacct -p
>>> Enter password:
>>> Welcome to the MySQL monitor.  Commands end with ; or \g.
>>> Your MySQL connection id is 163
>>> Server version: 5.7.20-0ubuntu0.17.10.1 (Ubuntu)
>>>
>>> Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights
>>> reserved.
>>>
>>> Oracle is a registered trademark of Oracle Corporation and/or its"
>>> ...and so on, clipped.
>>>
>>> There is no difference if I enclose the conf file's sql_passwd argument
>>> in quotes or not.
>>> What is my issue here? Thanks.....Nick
>>>
>>>
_______________________________________________
pmacct-discussion mailing list
http://www.pmacct.net/#mailinglists

Reply via email to