I’m having problems installing the Super Search plugin. It’s giving an error about installing the Levenshtein function. The developer doesn’t seem willing to go beyond simple troubleshooting to resolve it. (confirming the db user has alter and drop privs, which it does)
Looking at my database I see that 7 tables are using latin1_swedish_ci collation. Is this correct? The rest are set for utf8_general_ci.
The 7 tables are: exp_accessories exp_channel_entries_autosave exp_cp_search_index exp_fieldtypes exp_layout_publish exp_snippets exp_upload_no_access
I’m running EE 2.10.3 on IIS8. (Win 2012r2)
A Database Error Occurred
Error Number: 1370
alter routine command denied to user 'abc_ee_user'@'localhost' for routine 'abc_ee_01.LEVENSHTEIN'
DROP FUNCTION IF EXISTS LEVENSHTEIN;
Filename: D:\web\abc\system\codeigniter\system\database\DB_driver.php
Line Number: 382As an aside, I temporarily gave the db user ALL privileges and tried the plugin install and it worked. Any idea why the db user would need more than the EE default to install itself?
[select, insert, update, delete, create, alter, index, drop]
I’m not sure which added privilege it required but I’d guess either ‘create routine’ or ‘alter routine’.
Hi Chris,
The default collation for 2.x is utf8_general_ci (and the default charset is utf8). You can also use utf8_unicode_ci as the collation for your tables. We’ve found that does a better job sorting non-ascii characters, and have moved to it in 3.x.
As to the permissions, the MySQL docs indicate you may have needed a specific “ALTER ROUTINE” permission.
ExpressionEngine 1 used latin1 for its collation, so if you upgraded from 1.x to 2.x it’s possible that a few of the tables got skipped when the collation was changed in 2.0.0. Additionally, we have a check in the software for UTF8 compatibility, and if that is FALSE then we use the the MySQL default for that database.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.