# portupgrade problem upgrading mysql



## chrcol (Jan 13, 2010)

Ok I am trying to upgrade mysql from 5.0 to 5.1 on a freebsd 6.4 server, here is the command and output.


```
# portupgrade -o databases/mysql51-client databases/mysql50-client
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 250 packages found (-1 +1) (...). done]
--->  Upgrading 'mysql-client-5.0.89' to 'mysql-client-5.1.42' (databases/mysql51-client)
--->  Building '/usr/ports/databases/mysql51-client'
===>  Cleaning for mysql-client-5.1.42
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20100113-78647-11cqvfi-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=mysql-
client-5.0.89 UPGRADE_PORT_VER=5.0.89 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! databases/mysql51-client (mysql-client-5.0.89)        (unknown build error)
```
any ideas please.


----------



## DutchDaemon (Jan 13, 2010)

This is not how portupgrade -o should be used.

Try `# portupgrade -o databases/mysql51-client mysql50-client\*`

The second part is the directory name in /var/db/pkg.


----------



## chrcol (Jan 13, 2010)

ok sorry about the missing code [] stuff

if I run the command you give me it does nothing, it just returns to prompt. So I then edited as you said from what it says in /var/db/pkg but still crashes.


```
# portupgrade -o databases/mysql51-client mysql-client\*
--->  Upgrading 'mysql-client-5.0.89' to 'mysql-client-5.1.42' (databases/mysql51-client)
--->  Building '/usr/ports/databases/mysql51-client'
===>  Cleaning for mysql-client-5.1.42
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20100113-989-4kmvn3-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=mysql-client-5.0.89 UPGRADE_PORT_VER=5.0.89 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        ! databases/mysql51-client (mysql-client-5.0.89)        (unknown build error)
```


----------



## DutchDaemon (Jan 13, 2010)

Do you also have mysql-server installed? Both server and client need to be at the same version, so you may have to upgrade the mysql-server before upgrading the mysql-client. If that doesn't work, you could try a `# pkg_delete -f` on the current client and server, and then build the new version from scratch.


----------



## chrcol (Jan 13, 2010)

I then get this error


```
** Port marked as IGNORE: databases/mysql51-server:
        cannot install: MySQL versions mismatch: mysql50-client is installed and wanted version is mysql51-client
```

looks like a portupgrade problem   I can do what you said and had that idea in mind but its a shame portupgrade won't handle it.


----------



## chrcol (Jan 13, 2010)

I tried the command on another server and it works, the other server runs freebsd 7.2.


----------



## DutchDaemon (Jan 13, 2010)

No, it is not a portupgrade problem, it is the way the ports are created (i.e.: not wanting to play together with any other version).

So `pkg_delete -f` the old version of mysql-client/mysql-server first, and then install the new mysql-client/mysql-server.


----------



## chrcol (Jan 13, 2010)

I have done it now, worked ok but a lot of downtime.

Portupgrade would have compiled first before shutting down the old mysqld so less downtime.

However the portupgrade command (client one first and then server one second) works fine on another server.


----------

