Bug #25452 | mysql_upgrade access denied. | ||
---|---|---|---|
Submitted: | 7 Jan 2007 5:29 | Modified: | 8 May 2007 0:56 |
Reporter: | Mark Johnson (Basic Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Installing | Severity: | S3 (Non-critical) |
Version: | 5.0.32 | OS: | Linux (linux) |
Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
Tags: | installation, server, upgrade |
[7 Jan 2007 5:29]
Mark Johnson
[7 Jan 2007 17:56]
Giuseppe Maxia
Thanks for the bug report. Verified as described on 5.0.32 Enterprise. Also, on 5.1.14 (and later versions), the same application exits with a segmentation fault.
[7 Mar 2007 4:24]
Matthew Smith
Same behaviour on 5.1.16-beta, built under Linux, using either -p or --password=. /usr/bin/mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) Unfortunately, as this is not a script, I can't just look at it and then run the commands by hand.
[8 Mar 2007 11:33]
Magnus Blåudd
Working on new version of mysql_upgrade and has added a testcase to mysql_upgrade.test looking like this: >> # # Bug #25452 mysql_upgrade access denied. # # Password protect a root account and run mysql_upgrade CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila'; GRANT ALL ON *.* TO mysqltest1@'%'; --echo Run mysql_upgrade with password --exec $MYSQL_UPGRADE --skip-verbose --force --user=mysqltest1 --password=sakila 2> $MYSQLTEST_VARDIR/log/mysql_upgrade.err DROP USER mysqltest1@'%'; <<
[8 Mar 2007 11:35]
Magnus Blåudd
The password is erased by code in get_one_option case 'p': tty_password= 1; if (argument) { char *start= argument; my_free(opt_password, MYF(MY_ALLOW_ZERO_PTR)); opt_password= my_strdup(argument, MYF(MY_FAE)); while (*argument) *argument++= 'x'; /* Destroy argument */ ^^ Here if (*start) start[1]= 0; /* Cut length of argument */ ^^ And if that was not enough, here too. tty_password= 0; }
[18 Apr 2007 11:21]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/24764 ChangeSet@1.2461, 2007-04-18 13:21:39+02:00, msvensson@pilot.blaudden +11 -0 Bug#25452 mysql_upgrade access denied - Improve mysql_upgrade and add comments describing it's logic - Don't look for mysql and mysqlcheck randomly, use dir where mysql_upgrade was started from - Don't look for mysql_fix_privilege_tables.sql randomly, compile in the mysql_fix_privilege_tables.sql file and use that to upgrade the system tables of MySQL - Check for any unexpected error returned from runnning the mysql_fix_privilege_tables SQL - Fix bug#26639, bug#24248 and bug#25405
[26 Apr 2007 11:36]
Bugs System
Pushed into 5.1.18-beta
[26 Apr 2007 11:37]
Bugs System
Pushed into 5.0.42
[8 May 2007 0:56]
Paul DuBois
Noted in 5.0.42, 5.1.18 changelogs. mysql_upgrade did not pass a password to mysqlcheck if one was given.