/scripts/mysqlup (mysql 4.1 to 5.0 on freebsd)

akrzystek

Member
Jul 8, 2005
15
0
151
Hi all

I'm trying to upgrade MySQL on an old FreeBSD 5.4 server, to be ready for the account migration (transfer scripts) to a new CentOS server.

So I changed MySQL Version in Tweak Config and tried /scripts/mysqlup, which does nothing exept trying to reinstall DBD-mysql-4.012 again and again, see "code" below.
Well, I don't see any errors, so I'm slightly loss.

cPanel 11.24.4-R36167 - WHM 11.24.2 - X 3.9

Any clues?

Thanks,
Thomas


Code:
 # /scripts/mysqlup
MySQL Setup Script Version 7.0
This is the MySQL installer for OS FreeBSD
This script updates all the mysql privilege tables to be usable by
MySQL 4.0 and above.

This is needed if you want to use the new GRANT functions,
CREATE AGGREGATE FUNCTION, or the more secure passwords in 4.1

You can safely ignore all 'Duplicate column' and 'Unknown column' errors
because these just mean that your tables are already up to date.
This script is safe to run even if your tables are already up to date!

done
Method: Perl Expect
Testing connection speed...(using fast method)...Done
Ping:13.159 Testing connection speed to cpan.miroir-francais.fr using pureperl...(122848.78 bytes/s)...Done
Ping:13.180 Testing connection speed to cpan.osmirror.nl using pureperl...(122848.78 bytes/s)...Done
Ping:18.892 Testing connection speed to cpan.mirroring.de using pureperl...(101682.24 bytes/s)...Done
Three usable mirrors located
Three usable mirrors located
Mirror Check passed for cpan.miroir-francais.fr (/index.html)
commit: wrote /usr/local/lib/perl5/5.8.8/CPAN/Config.pm
CPAN: Storable loaded ok
Going to read /home/.cpan/Metadata
  Database was generated on Wed, 22 Jul 2009 23:27:02 GMT
Running install for module DBD::mysql
Running make for C/CA/CAPTTOFU/DBD-mysql-4.012.tar.gz
CPAN: Digest::MD5 loaded ok
CPAN: Compress::Zlib loaded ok
Checksum for /home/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.012.tar.gz ok
Scanning cache /home/.cpan/build for sizes
x DBD-mysql-4.012/
x DBD-mysql-4.012/ChangeLog
x DBD-mysql-4.012/constants.h
x DBD-mysql-4.012/dbdimp.c
x DBD-mysql-4.012/dbdimp.h
x DBD-mysql-4.012/eg/
x DBD-mysql-4.012/eg/._bug14979.pl
x DBD-mysql-4.012/eg/bug14979.pl
x DBD-mysql-4.012/eg/._bug21028.pl
x DBD-mysql-4.012/eg/bug21028.pl
x DBD-mysql-4.012/eg/bug30033.pl
x DBD-mysql-4.012/eg/bug30033pg.pl
x DBD-mysql-4.012/eg/decimal_test.pl
x DBD-mysql-4.012/eg/issue21946.pl
x DBD-mysql-4.012/eg/prepare_memory_usage.pl
x DBD-mysql-4.012/eg/proc_example1.pl
x DBD-mysql-4.012/eg/proc_example2.pl
x DBD-mysql-4.012/eg/proc_example2a.pl
x DBD-mysql-4.012/eg/proc_example2b.pl
x DBD-mysql-4.012/eg/proc_example3.pl
x DBD-mysql-4.012/eg/proc_example4.pl
x DBD-mysql-4.012/INSTALL.html
x DBD-mysql-4.012/lib/
x DBD-mysql-4.012/lib/Bundle/
x DBD-mysql-4.012/lib/Bundle/DBD/
x DBD-mysql-4.012/lib/Bundle/DBD/mysql.pm
x DBD-mysql-4.012/lib/DBD/
x DBD-mysql-4.012/lib/DBD/mysql/
x DBD-mysql-4.012/lib/DBD/mysql/GetInfo.pm
x DBD-mysql-4.012/lib/DBD/mysql/INSTALL.pod
x DBD-mysql-4.012/lib/DBD/mysql.pm
x DBD-mysql-4.012/Makefile.PL
x DBD-mysql-4.012/Makefile.PL.embedded
x DBD-mysql-4.012/MANIFEST
x DBD-mysql-4.012/MANIFEST.SKIP
x DBD-mysql-4.012/META.yml
x DBD-mysql-4.012/myld
x DBD-mysql-4.012/mysql.xs
x DBD-mysql-4.012/README
x DBD-mysql-4.012/t/
x DBD-mysql-4.012/t/00base.t
x DBD-mysql-4.012/t/10connect.t
x DBD-mysql-4.012/t/20createdrop.t
x DBD-mysql-4.012/t/25lockunlock.t
x DBD-mysql-4.012/t/29warnings.t
x DBD-mysql-4.012/t/30insertfetch.t
x DBD-mysql-4.012/t/31insertid.t
x DBD-mysql-4.012/t/32insert_error.t
x DBD-mysql-4.012/t/35limit.t
x DBD-mysql-4.012/t/35prepare.t
x DBD-mysql-4.012/t/40bindparam.t
x DBD-mysql-4.012/t/40bindparam2.t
x DBD-mysql-4.012/t/40blobs.t
x DBD-mysql-4.012/t/40catalog.t
x DBD-mysql-4.012/t/40keyinfo.t
x DBD-mysql-4.012/t/40listfields.t
x DBD-mysql-4.012/t/40nulls.t
x DBD-mysql-4.012/t/40numrows.t
x DBD-mysql-4.012/t/40server_prepare.t
x DBD-mysql-4.012/t/40server_prepare_error.t
x DBD-mysql-4.012/t/40types.t
x DBD-mysql-4.012/t/41bindparam.t
x DBD-mysql-4.012/t/41blobs_prepare.t
x DBD-mysql-4.012/t/42bindparam.t
x DBD-mysql-4.012/t/50chopblanks.t
x DBD-mysql-4.012/t/50commit.t
x DBD-mysql-4.012/t/51bind_type_guessing.t
x DBD-mysql-4.012/t/55utf8.t
x DBD-mysql-4.012/t/60leaks.t
x DBD-mysql-4.012/t/65types.t
x DBD-mysql-4.012/t/70takeimp.t
x DBD-mysql-4.012/t/71impdata.t
x DBD-mysql-4.012/t/75supported_sql.t
x DBD-mysql-4.012/t/76multi_statement.t
x DBD-mysql-4.012/t/80procs.t
x DBD-mysql-4.012/t/lib.pl
x DBD-mysql-4.012/t/mysql.dbtest
x DBD-mysql-4.012/t/mysql.mtest
x DBD-mysql-4.012/TODO
Removing previously used /home/.cpan/build/DBD-mysql-4.012

  CPAN.pm: Going to build C/CA/CAPTTOFU/DBD-mysql-4.012.tar.gz

PLEASE NOTE:

For 'make test' to run properly, you must ensure that the 
database user 'root' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others. 

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.pl --testuser=username

I will use the following settings for compiling and testing:

  cflags        (mysql_config) = -I/usr/local/include/mysql -pipe
  embedded      (mysql_config) = 
  libs          (mysql_config) = -L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lm
  mysql_config  (guessed     ) = mysql_config
  nocatchstderr (default     ) = 0

  nofoundrows   (default     ) = 0

  ssl           (guessed     ) = 0
  testdb        (default     ) = test

  testhost      (default     ) = 

  testpassword  (default     ) = 

  testsocket    (default     ) = 

  testuser      (guessed     ) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.

Checking if your kit is complete...
Looks good
Using DBI 1.609 (for perl 5.008008 on i386-freebsd-64int) installed in /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/DBI/
Writing Makefile for DBD::mysql
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
cc -c  -I/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/DBI -I/usr/local/include/mysql -pipe -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O -pipe    -DVERSION=\"4.012\"  -DXS_VERSION=\"4.012\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.8.8/mach/CORE"   dbdimp.c
dbdimp.c: In function `mysql_db_FETCH_attrib':
dbdimp.c:2315: warning: cast from pointer to integer of different size
dbdimp.c: In function `mysql_st_FETCH_attrib':
dbdimp.c:4132: warning: cast from pointer to integer of different size
/usr/local/bin/perl -p -e "s/~DRIVER~/mysql/g" /usr/local/lib/perl5/site_perl/5.8.8/mach/auto/DBI/Driver.xst > mysql.xsi
/usr/local/bin/perl /usr/local/lib/perl5/site_perl/5.8.8/ExtUtils/xsubpp  -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap  mysql.xs > mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 225
Warning: duplicate function definition 'rows' detected in mysql.xs, line 650
cc -c  -I/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/DBI -I/usr/local/include/mysql -pipe -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O -pipe    -DVERSION=\"4.012\"  -DXS_VERSION=\"4.012\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.8.8/mach/CORE"   mysql.c
mysql.c: In function `boot_DBD__mysql':
mysql.c:2270: warning: passing arg 3 of `Perl_newXS' discards qualifiers from pointer target type
mysql.c:2345: warning: passing arg 3 of `Perl_newXS' discards qualifiers from pointer target type
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.so
LD_RUN_PATH="/usr/local/lib/mysql:/usr/lib" /usr/local/bin/perl myld cc  -shared  -L/usr/local/lib dbdimp.o  mysql.o  -o blib/arch/auto/DBD/mysql/mysql.so 	  -L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lm  	 
chmod 755 blib/arch/auto/DBD/mysql/mysql.so
cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
Manifying blib/man3/DBD::mysql.3
Manifying blib/man3/DBD::mysql::INSTALL.3
Manifying blib/man3/Bundle::DBD::mysql.3
  /usr/bin/make  -- OK
Running make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Appending installation info to /usr/local/lib/perl5/5.8.8/mach/perllocal.pod
  /usr/bin/make install UNINST=1 -- OK
perlmod--Install done
Install Complete
 

akrzystek

Member
Jul 8, 2005
15
0
151
I forgot, DBD-mysql is 4.012, which mysqlup keeps installing:

Code:
# pkg_info |grep mysql
mysql-client-4.1.22 Multithreaded SQL database (client)
mysql-scripts-4.1.22 Multithreaded SQL database (scripts)
mysql-server-4.1.22 Multithreaded SQL database (server)
p5-DBD-mysql-4.012  MySQL driver for the Perl5 Database Interface (DBI)

# /scripts/perlinstaller Bundle::DBD::mysql
Method: Perl Expect
Testing connection speed...(using fast method)...Done
Ping:18.892 Testing connection speed to cpan.mirroring.de using pureperl...(132682.93 bytes/s)...Done
Ping:13.159 Testing connection speed to cpan.miroir-francais.fr using pureperl...(176729.82 bytes/s)...Done
Ping:13.180 Testing connection speed to cpan.osmirror.nl using pureperl...(176729.82 bytes/s)...Done
Three usable mirrors located
Three usable mirrors located
Mirror Check passed for cpan.miroir-francais.fr (/index.html)
commit: wrote /usr/local/lib/perl5/5.8.8/CPAN/Config.pm
CPAN: Storable loaded ok
Going to read /home/.cpan/Metadata
  Database was generated on Wed, 22 Jul 2009 23:27:02 GMT
DBI is up to date.
DBD::mysql is up to date.
perlmod--Install done
 

akrzystek

Member
Jul 8, 2005
15
0
151
Well, as seen in other threads, nobody seems to have answers if mysqlup doesn't work as expected.

So I did the mysql upgrade as I usualy do it on a non-cPanel server.
I paste it here, probably this is helpful for someone.

Code:
# txt backup if something goes really wrong
mysqldump --user=root --password=PASSWORD --host=localhost --all-databases --opt --allow-keywords --flush-logs --hex-blob --max_allowed_packet=128M --quote-names --result-file=BACKUP_MYSQL_4.1.SQL

# stop mysql
killall mysqld	# or service mysqld stop or ...

# backups are helpful
tar -cvf mysql.tar /var/db/mysql

# deinstall mysql 4.1 on freebsd (example)
pkg_info |grep mysql
pkg_deinstall mysql-server-4.1.22 mysql-client-4.1.22 mysql-scripts-4.1.22 p5-DBD-mysql-4.012
pkg_info |grep mysql

# deinstall mysql 4.1 on a rpm based linux distro (example)
rpm -qa | grep '^mysql-'
rpm --nodeps -ev mysql-bench mysql-server mysql mysql-devel
rpm -qa | grep '^mysql-'

# install mysql 5.0 freebsd (example)
cd /usr/ports/databases/mysql50-server; make install clean
cd /usr/ports/databases/mysql50-client; make install clean
cd /usr/ports/databases/mysql50-scripts; make install clean
pkg_info |grep mysql

# install mysql 5.0 on a rpm based linux distro (example, untested)
yum install mysql-5.0 mysql-libs-5.0 mysql-devel-5.0 mysql-server-5.0
# or download the rpm files manually and use rpm
rpm -Uvh mysql-*

# start mysql
/scripts/restartsrv mysql	# or service mysqld start or ...

# run mysql migration script
mysql_upgrade_shell --user=root --password

# check your dbs & permissions
-> launch phpMyAdmin and use the gui :)

# go and get a beer