Forums | Mahara Community

Support /
Upgrading to 1.5 issue on MySQL


Luca Oppizzi's profile picture
Posts: 14

12 May 2012, 4:10

Hi,

The upgrade failed to this: "Mahara requires permission to create database triggers, but is unable to do so. Please ensure that the trigger privilege has been granted to the appropriate user in your MySQL installation. For instructions on how to do this, see https://wiki.mahara.org/index.php/System_Administrator's_Guide/Granting_Trigger_Privilege"

Therefore I ran the SQL query suggested in Mahara Wiki: GRANT TRIGGER ON db_name.* TO 'db_user_name>'@'localhost';

That query fails: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GRANT TRIGGER ON db_name.* TO 'db_user_name>'@'localhost';'' at line 1

I tried a variety of syntaxes, but all of them failed. Any suggestion? Thanks.

anonymous profile picture
Account deleted
Posts: 8

12 May 2012, 8:28

I have exactly the same issue, but I have confirmed on my MySQL database server that the mahara account has trigger granted.

Cameron,
xxx.

Luca Oppizzi's profile picture
Posts: 14

12 May 2012, 9:46

I informed my web host about that issue and they said it's related to the current MySQL version of the server. Namely, they're going to upgrade it to 5.1 to have the GRANT TRIGGER function work properly.

anonymous profile picture
Account deleted
Posts: 8

12 May 2012, 11:39

I'm already on 5.1 so perhaps it might be something else as well?

Cameron,
xxx. 

anonymous profile picture
Account deleted
Posts: 8

15 May 2012, 23:07

Well I found the solution to my issue and it may help others so here it is. The error I was getting was the same as Luca and that would normally be because of the server being MySQL 5.0x, however in my case it was 5.1x.

Where the difference was was that I had called my database

mahara-<servername>

so I could see the difference between my test and live servers easily. The '-' acts as an escape character (seemingly sometimes) and caused the issues with setting (or being able to check that they were set) Triggers.

A new database with no '-' and an import of the old content allowed me to get up to 1.5.1.

Cameron,
xxx. 

maigoofy's profile picture
Posts: 14

16 May 2012, 11:42

Cameron,

I had the same problem and want to use your fix, but I do not really understand the following.

 

         Where the difference was was that I had called my database

         mahara-<servername>

 

Could you explain it in simpler term? I would appreciate it.

Maigoofy

anonymous profile picture
Account deleted
Posts: 23

22 May 2012, 1:04

Dear all,

I use mysql 5.1.57 and want to upgrade mahara from 1.4 to 1.5.1 but same trigger permission issues is happened.

I have been grants all permissions including trigger buf failure to upgrade it.

I use database name "mahara" .

Please advice how to fix it.

                               William

anonymous profile picture
Account deleted
Posts: 8

22 May 2012, 2:45

Sorry for the delay in getting abck to you. My original databases were called mahara-<servername> where <servername> was the name of my server. To make it clearer the same issue would happen if I had called them

  • mahara-test
  • mahara-live

The hyphen in the database name was what was stopping me being able to go to 1.5 rather than anything else as I was on MySQL 5.1 and my php was up to date. The fix that worked for me was to

  • export the contents of mahara-test
  • create a new empty database maharatest
  • import the contents of mahara-test into the new database maharatest
  • I already had accounts set up to use mahara-test so I gave those accounts access to maharatest as well
  • Even though permissions were set properly I had to give the accounts Global privilages on the server until the Mahara 1.5 upgrade had completed
  • After we were on 1.5 I dropped the permissions back down from Global to Database specific

That was enough to get me up to 1.5. The oddness with global privilages may not affect anyone else but it is worth saying in case it is of use. Please don't forget to recind the Global privilages if you do try it as it will give your MySQL DBA concerns.

Cameron,
xxx. 

anonymous profile picture
Account deleted
Posts: 23

22 May 2012, 3:59

Dear Cameron,

As you said, To upgrade Mahara 1.5. Global privileges should be assigned to mahara user.

Please advice what the Global privileges mean? mean "super role"?

I have run the following

"grant trigger on *.* to <<mahara user>>@localhost"

and database permssion for <<mahara user>>

"grant all privileges on mahara.* to <<mahara user>>@localhost"

but still failure to upgrade mahara 1.5

 

Thanks,

                                 William

anonymous profile picture
Account deleted
Posts: 8

22 May 2012, 9:04

The Global privilages can be thought of as super user privilages. Sort of. They are similar in function to the ones on individual databases but the scope is larger, that is they can affect the server level rather than just the database level. It isn't quite like that but that is close enough. So to run the install stuff for 1.5 it looks like you need to have elevated privilages on your account for some of it.

This is likely to keep cropping up as under the "Admin home" tab I have a notification that

artefact.file

has an upgrade available. However if I try to run the upgrade I get the

Mahara requires permission to create database triggers, but is unable to do so. Please ensure that the trigger privilege has been granted to the appropriate user in your MySQL installation. For instructions on how to do this, see https://wiki.mahara.org/index.php/System_Administrator's_Guide/Granting_Trigger_Privilege

error. Is there anyone at Maharaland who can let us know if the issue is that you need some privilages on your account that are set at the Global level? If so it would explain some of these queries.

Cameron,
xxx. 

 

 

15 results