After a fresh installation of 1.8.1 on CentOS 6.5 I get the error:
Table 'mysql.proc' doesn't exist
when enable upload to HRDLog.net is selected and entering a new qso.
Only without the enable upload to HRDLog.net, the qso can be entered into the log.
Please advise
73 Henk PC4H
Hello!
Maybe you had an old version of the MySQL database in ~/.config/cqrlog/database directory, or you have an older version of MySQL server installed on your system.
First make sure your MySQL version is at lest 5.0.4, then you can try to upgrade the CQRLOG database using the following command in terminal window:
/usr/bin/mysql_upgrade --host=localhost --port=64000
Make sure CQRLOG is running when executing the command.
73 de YU1SX
Or better yet:
/usr/bin/mysql_upgrade -S ~/.config/cqrlog/database/sock
While the CQRLOG window with the DB selectio is open.
73 de YU1SX
I went back to cqrlog 1.74 which was working fine.
Now after upgrade of cqrlog tot 1.8.1 the problem did not occur anymore, and i did not have to do the mysql_upgrade command.
However on a clean 1.8.1 installation on a test vm with centos 6.5 with mysql 5.1.73-3 I had the same problem. I will check if above command will solve the issue on that system.
73 de PC4H
On the test system the following result is seen. Mysql version is 5.1.73-3
[henk@192 ~]$ /usr/bin/mysql_upgrade -S ~/.config/cqrlog/database/sockLooking for 'mysql' as: /usr/bin/mysqlLooking for 'mysqlcheck' as: /usr/bin/mysqlcheckRunning 'mysqlcheck' with connection arguments: '--socket=/home/henk/.config/cqrlog/database/sock' Running 'mysqlcheck' with connection arguments: '--socket=/home/henk/.config/cqrlog/database/sock' cqrlog001.call_alert OKcqrlog001.club1 OKcqrlog001.club2 OKcqrlog001.club3 OKcqrlog001.club4 OKcqrlog001.club5 OKcqrlog001.cqrlog_config OKcqrlog001.cqrlog_main OKcqrlog001.db_version OKcqrlog001.dxcc_id OKcqrlog001.log_changes OKcqrlog001.long_note OKcqrlog001.notes OKcqrlog001.profiles OKcqrlog001.upload_status OKcqrlog001.version OKcqrlog001.zipcode1 OKcqrlog001.zipcode2 OKcqrlog001.zipcode3 OKcqrlog_common.bands OKcqrlog_common.db_version OKcqrlog_common.dxcc_ref OKcqrlog_common.dxclusters OKcqrlog_common.iota_list OKcqrlog_common.log_list OKcqrlog_common.qslmgr OKRunning 'mysql_fix_privilege_tables'...ERROR 1049 (42000): Unknown database 'mysql'FATAL ERROR: Upgrade failed[henk@192 ~]$
73 Henk PC4H
It looks like the MySQL package has to be initialized before CQRLOG can use it. The database mysql exists only in MySQL server's data dir, not in user's home ( ~/.config/cqrlog/database/ ).
So, before firing up a clean CQRLOG 1.8.1 install for the first time, you should try starting MySQL service:
sudo service mysqld start
(or without sudo if you're already root). If MySQL's data dir hasn't been initialized yet, the startup should fire up a one-time script to help you through the init process. It usually suggests starting:
/usr/bin/mysql_secure_installation
to define MySQL root password, delete the test DB, etc..
After that, try starting CQRLOG and see if it will behave as expected.
73 de YU1SX
I think all these problems are related to the way Petr uses mysql. It isn't the normal/usual way at all in that he runs a private session within cqrlog itself and doesn't put the database files in the usual nysql place but in a cqrlog private directory.
I think that until he changes this to use the normal/reccomended approach we are always going to see problems.
Also, there are problems with sharing a cqrlog database between two computers at the moment, unless you have cqrlog actually running on the computer that hosts the database there doesn't seem to be a way to access it remotely.
Colin G8TMV
Or maybe he should use completely embedded MySQL instance that doesn't need any other MySQL binary/library package and has it's own complete set of DBs needed for proper function.
73 de YU1SX
No, that would preclude using the database from different computers.
It would also probably mean that cqrlog would not be in Debian/Ubuntu - they don't like embedded sub-apps for security reasons.
There is always a 'best' way to do things and in this case it's the 'usual' way which is to have the application talk to a standard database server instance.
Colin G8TMV
You're absolutely right. :)
73 de YU1SX