Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  2 Feb 2003 21:50:30 -0500 (EST)
From:      Chris Pepper <pepper@rockefeller.edu>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        Dirk Froemberg <dirk@FreeBSD.org>
Subject:   ports/47834: mysql-server-3.23.55 upgrade should be more informative
Message-ID:  <20030203025030.C97BCFDD2@www.reppep.com>

next in thread | raw e-mail | index | archive | help

>Number:         47834
>Category:       ports
>Synopsis:       mysql-server-3.23.55 upgrade should be more informative
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Feb 02 19:00:24 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Chris Pepper
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
>Environment:
System: FreeBSD www.reppep.com 4.7-STABLE FreeBSD 4.7-STABLE #0: Tue Dec 3 14:05:51 EST 2002 root@www.reppep.com:/usr/obj/usr/src/sys/REPPEP i386


	
>Description:
	portupgrade offers to upgrade mysql-client, but the upgrade fails in a somewhat helpful way.

--->  Upgrading 'mysql-server-3.23.53_4' to 'mysql-server-3.23.55' (databases/mysql323-server)

	produces the following:

===>  Installing for mysql-server-3.23.55
===>   mysql-server-3.23.55 depends on executable: mysql - found
===>   mysql-server-3.23.55 depends on file: /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/Mysql.pm - found
You appear to already have a mysql database directory in /var/db/mysql.

In order to preserve your existing data, you should:
        - dump all your databases
        - kill mysql if it is running
        - delete the /var/db/mysql directory
        - run 'make install'
        - start up mysql
        - re-create all of your database
        - re-load your data

If you understand the consequences of this upgrade, please re-build this
port with the environment variable OVERWRITE_DB defined.
*** Error code 1

Stop in /usr/ports/databases/mysql323-server.
*** Error code 1

Stop in /usr/ports/databases/mysql323-server.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade57445.25 make reinstall
--->  Updating dependency info
egrep: /var/db/pkg/mysql-server-3.23.53_4/+CONTENTS: No such file or directory
--->  Restoring the old version
Installing all prepared tables
030202 21:23:45  /usr/local/libexec/mysqld: Shutdown Complete


To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
This is done with:
/usr/local/bin/mysqladmin -u root  password 'new-password'
/usr/local/bin/mysqladmin -u root -h www  password 'new-password'
See the manual for more instructions.

NOTE:  If you are upgrading from a MySQL <= 3.22.10 you should run
the /usr/local/bin/mysql_fix_privilege_tables. Otherwise you will not be
able to use the new GRANT command!

You can start the MySQL daemon with:
cd /usr/local ; /usr/local/bin/safe_mysqld &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; run-all-tests

Please report any problems with the /usr/local/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at https://order.mysql.com

mysql:*:88:
You already have a group "mysql", so I will use it.
mysql:*:88:88::0:0:MySQL Daemon:/var/db/mysql:/sbin/nologin
You already have a user "mysql", so I will use it.
Changed home directory of "mysql" to "/var/db/mysql"
** Fix the installation problem and try again.
--->  Installation of databases/mysql323-server ended at: Sun, 02 Feb 2003 21:23:45 -0500 (consumed 00:00:05)
--->  Upgrade of databases/mysql323-server ended at: Sun, 02 Feb 2003 21:23:45 -0500 (consumed 00:07:40)
[Updating the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 116 packages found (-0 +1) . done]

	1) The upgrade aborts, telling the user to dump and reload data, but doesn't provide the commands to accomplish this (a URL with export, create, and import procedures would be very helpful). Additionally, "make -DOVERWRITE_DB install" should probably be a step in the suggested procedure.

	2) After aborting, the upgrade continues to show the new-mysql-server-installed messages, which is misleading.

	3) The aborted upgrade leaves the old server in place, but not running. It would be very helpful to tell the user that the old installation is still available, but stopped. I thought it was broken at first.
	
>How-To-Repeat:
	Install mysql323-server and create a few dbs; then portupgrade to get the new one; tell it to upgrade, and watch the errors.
>Fix:
	Enhance the suggested upgrade procedure with the appropriate make command and specifics on how to export and reimport the dbs, or URLs for the information.
	In the abort message, state that the old version has been retained, and can be restarted.
	Avoid the messges on how to set up a new mysql325-server installation if it wasn't actually installed.
	Enhance portupgrade or the ports system so mysql can test for the presence of an older version without compiling the new version, to save time.
>Release-Note:
>Audit-Trail:
>Unformatted:
 	

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030203025030.C97BCFDD2>