can't uninstall .

9 years 6 months ago #1 by pacobobo
can't uninstall . was created by pacobobo
I tried to upgrade to version 0.1.2, This failed and now, also the uninstall fails with error:
error 1548 Cannot load from mysql.proc. The table is probably corrupted SQL=DROP PROCEDURE IF EXISTS sql_updcontroltable;

Installing again gives error 1146 Table '......sql_passwordcontrol_meta' doesn't exist SQL=UPDATE sql_passwordcontrol_meta SET version = "0.1.2", type ="plugin"

Anyone any ideas how to solve this?

Please Log in or Create an account to join the conversation.

9 years 6 months ago - 9 years 6 months ago #2 by geoffc
Replied by geoffc on topic can't uninstall .
There are three parts to this problem. The first is why the upgrade failed, the second why the uninstall failed, and the third is how one gets out of the current state.

The first two are I think caused by a previous update of the underlying MySQL database on the system that has not completed correctly. The error message about a corrupt mysql.proc table is what lead me to this conclusion. The table being referred to is one of the underlying MySQL tables, not related to the plugin or Joomla.

This will most likely be solved when running a MySQL upgrade, as this seems to be a result of schema changes.
mysql_upgrade -u root -p

If your username for your administrative account is not root, then you need to change it in the example above.
You do not say whether the database upon which you are installing is under your control or whether you would need to get the hosting supplier to ensure that the database is updated completely.

However even when the underlying database is fixed, the problem will still exist since the uninstall has partially completed but left some remnants, which is why the reinstall also fails, since its trying to perform an update and not a fresh install, hence the message that is seen.

To remove the remaining 'elements; from the system one has to run a few commands using a tool such as 'myPHPAdmin' to access the underlying database. There are a few database objects to remove.
DROP TABLE IF EXISTS #__passwordcontrol;
DROP TABLE IF EXISTS #__passwordcontrol_meta;
DROP PROCEDURE IF EXISTS #__updcontroltable;
DROP FUNCTION IF EXISTS #__oldpasswordcheck;
DROP TABLE IF EXISTS #__passwordcontrol_debug;
DROP PROCEDURE IF EXISTS #__pwdctl_debug;

I expect that the attempted drop of the two procedures (lines 3 and 6) and the function (line 4) will fail since the underlying MySQL table is corrupted. You will need to replace the '#_'in the above lines with your database prefix.

The other step is to edit the table '#__extensions' and find the entry for the System Password Control plugin and delete the row from the table. This should effectively correct the Joomla system.

Note however that until the underlying MYSQL table that is corrupted is repaired any attempt to reinstall the plugin will most likely also fail. Once corrected a reinstall should work fine.

Regards
Geoff

Please Log in or Create an account to join the conversation.

9 years 6 months ago #3 by pacobobo
Replied by pacobobo on topic can't uninstall .
dear Geoffc
At first of course... thanks for your time and answer..
I followed your instructions. Deleting the tables are succesfull but deleting the procedures and the functions result in errors (#1548 - Cannot load from mysql.proc. The table is probably corrupted) .
According to me, the procedures and functions are in tables which are out of my control and access authority. I have asked my ISP and they tell me that it is a problem of the plugin. Your answer gives me the idea that it's a problem within the ISP....

I have attached a file with a screenprint.

In my test system (Synology NAS) the functions and procedures tables are located in my own Joomla database, not in the information_schema database.
Anymore hints or suggestions?
Attachments:

Please Log in or Create an account to join the conversation.

9 years 6 months ago - 9 years 6 months ago #4 by geoffc
Replied by geoffc on topic can't uninstall .
If I recall correctly the Synology NAS isn't actually using MySQL. I think it is probably running MariaDB which is a MySQL alternative, which obeys the same MySQL syntax. This is almost certainly true if it is running a recent Synology OS version. This might possibly explain the different location of the mysql.proc table, which as you already know is in MySQL located in the information_schema database.

There is nothing I can suggest other than that you press the ISP to 'fix' their database, which I presume they have upgraded since you last installed password control plugin.

You are in a catch 22 situation. The ISP database has provided you the grants to create proceures/functions but due to the corruption you can't use them. The plugin install checks whether you have the privileges to use database procedures and if it finds you do it uses them. If you didn't have the privileges if would always use PHP alternatives.

It sounds rather 'silly' in the plugin install to check specifically for a database corruption in the information schema database as well as checking the grants, which is what the ISP is sort of implying the plugin installer should do!. Is it unreasonable to expect them to know their job?

Regards
Geoff

Please Log in or Create an account to join the conversation.

9 years 6 months ago #5 by pacobobo
Replied by pacobobo on topic can't uninstall .
Ok Geoff, thanks again.
I will let you know if and what solutions comes up.
best regards,
Paul

Please Log in or Create an account to join the conversation.

9 years 6 months ago #6 by geoffc
Replied by geoffc on topic can't uninstall .
You could ask the ISP to try creating a database procedure themselves using myPHPAdmin. That would isolate the problem directly to the database. No plugin to blame, just the database. The procedure doesn't have to do anything but I think it will fail due to the corrupt table.

They might then accept they have a problem.

Regards
Geoff

Please Log in or Create an account to join the conversation.

Time to create page: 0.145 seconds
Go To Top

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries