When restoring your MySQL databases, if you run into this error:
Unable to add user username_dbuser. String 'username_dbuser' is too long for user name (should be no longer than 16)
Can't add user username_dbuser to username_dbname: Unable to add user username_dbuser. String 'username_dbuser' is too long for user name (should be no longer than 16)
it means that the username_dbuser values are too long for MySQL.
Although there are settings in the mysql.user and mysql.db tables which control then max length of the username, MySQL clearly states that they cannot be changed:
http://dev.mysql.com/doc/refman/5.5/en/user-names.html
"The limit on MySQL user name length is hard-coded in the MySQL servers and clients, and trying to circumvent it by modifying the definitions of the tables in the mysql database does not work."
The solution (with regards to DA) is to shorten the DA username, so that the total length of the db user is shorter.
There are 2 ways of doing this:
1) Change the existing username and restore again from that User's backups folder:
/home/username/backups
where this path is needed, as it's a username independent restore area.
2) Or delete the existing User, rename the backup to a shorter name, and restore again, eg:
cd /home/admin/admin_backups
mv user.admin.username.tar.gz user.admin.usern.tar.gz
3) This last option is more difficult, but will shorten the database name and db usernames, rather than changing the DA username.
- Using
this guide, you can extract the current tar.gz backup file.
- In the "backup" directory, each MySQL database will have 3 files, eg:
username_dbname.conf
username_dbname.sql
username_dbname.dump.log
Rename those 3 files to have a shorter
_dbname value, so username_dbname is 16 characters, or less.
- Also edit the
username_dbname.confand change any
username_dbuser= entries which are more than 16 characters.
- Repack the tar.gz.
If you're seeing the word "collation" in the error, ensure you're restoring onto DA version 1.43.0 or newer, with regards to this change:
http://www.directadmin.com/features.php?id=821