voipmonitor / sniffer

VoIPmonitor sniffer sources
227 stars 105 forks source link

How do you create the initial mysql sniffer database? #42

Closed rgagnon24 closed 7 years ago

rgagnon24 commented 7 years ago

During initial install of the sniffer WITH mysql database, there seems to be no way to create the database without setting disable_dbupgradecheck = no in the configuration file.

The --update-schema option seems to only output the list of options for help. It never does anything.

For example, when I do something like: voipmonitor -b voipmonitor -p <password> -h 127.0.0.1 -O 3306 -u voipmonitor -v 9 --update-schema

It does not create the database schema.

If I simply start voipmonitor as a service, as the installation documentation mentions, it does not create the schema.

Is there a way to issue a command that only creates the mysql schema so that disable_dbupgradecheck can be left as the default "yes" ?

voipmonitor commented 7 years ago

Hi, why you enabled the option disable_dbupgradecheck = yes ? Or you did not? This option is by default disabled and it means that it will not create / check the database.

rgagnon24 commented 7 years ago

Actually I mis-spoke. We have the disable_dbupgradecheck set to no, but the --update-schema option just does not do anything.

We are creating a system installation script, and would like for it to be able to build the database without starting voipmonitor until it is needed in the process. Since --update-schema option is not working, the only other way to do this would be to capture the SQL that is normally run for the first time, and then manually perform the operations on the MySQL database

milon21 commented 7 years ago

Hello, I tested it with this command: voipmonitor --config-file ~/voipcfgs/voipmonitor-no-dbupgrade.conf -v 1 --update-schema -k

And I don't see any problem. Database is created, tables in database too. Can you share your voipmonitor.conf with us ? And commandline parameters of voipmonitor.

rgagnon24 commented 7 years ago

The command line I used is in the original post: voipmonitor -b voipmonitor -p <password> -h 127.0.0.1 -O 3306 -u voipmonitor -v 9 --update-schema

I am unsure how your command line worked as (according to the help output from voipmonitor -?) the -k is implied by --update-schema, and --config-file is incompatible with -k for safety reasons, so you should not be able to use --config-file with --update-schema.

If there is a bug in the program allowing --config-file to work with --update-schema, that's another issue, but the command line I supplied above contains all the needed elements to connect to the database, and yet there is no output or error message when it runs. It simply does nothing.

milon21 commented 7 years ago

You are right. This command works strange. As workaround I can suggest this variant of a command:

voipmonitor -b dbname -p pass -h host -O port -u user -v 1 --update-schema -i lo -k

It works for me.

In develop branch is a patch that corrects/updates the behavior of this parameter. If approved, it will appear in a future version.

voipmonitor commented 7 years ago

it has been resolved already. closing.