Opened 16 years ago

Last modified 16 years ago

#17412 new defect

mysql5 5.0.67_1+server - mysql_install_db errors

Reported by: edmond@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc:
Port: mysql5

Description (last modified by ryandesign (Ryan Carsten Schmidt))

When running mysql_install_db errors occur:

mal:/opt/local/lib/mysql5 edmond% sudo -u mysql ./bin/mysql_install_db
FATAL ERROR: Could not find fill_help_tables.sql inside --basedir

When using --basedir you must point either into a MySQL binary
distribution directory or a compiled tree previously populated
by 'make install'
mal:/opt/local/lib/mysql5 root# sudo -u mysql ./bin/mysql_install_db --user=mysql
bindir = __PREFIX/bin
FATAL ERROR: Could not find fill_help_tables.sql inside --basedir

When using --basedir you must point either into a MySQL binary
distribution directory or a compiled tree previously populated
by 'make install'

Which is because of the following code:

if test -z "$basedir"
then  
  basedir="/opt/local"
  bindir="/opt/local/lib/mysql5/bin"
  mysqld="/opt/local/libexec/mysqld"
  pkgdatadir="/opt/local/share/mysql5/mysql"
else  
  bindir="$basedir/bin"
  # We set up bootstrap-specific paths later, so skip this for now
  if test "$cross_bootstrap" -eq 0
  then  

It looks like $basedir should be null when it reaches the above, but instead it is "__PREFIX/bin" which turns up nothing when searching for key files. Perhaps some substitution failed? I got it to work, by forcing the correct values in the script, but I'm guessing that's not intended.

Change History (7)

comment:1 Changed 16 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to ryandesign@…
Port: mysql5 added

comment:2 Changed 16 years ago by edmond@…

The problem seems to be in the __PREFIX tag not getting converted to the actual prefix in the /opt/local/etc/my.cnf file.

comment:3 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

comment:4 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

mysql5 does not install a file ${prefix}/etc/my.cnf. It installs these files:

  ${prefix}/share/mysql5/mysql/my-huge.cnf
  ${prefix}/share/mysql5/mysql/my-innodb-heavy-4G.cnf
  ${prefix}/share/mysql5/mysql/my-large.cnf
  ${prefix}/share/mysql5/mysql/my-medium.cnf
  ${prefix}/share/mysql5/mysql/my-small.cnf

The prefix is properly substituted in each of those files. You are meant to copy one of these files to ${prefix}/etc/mysql5/my.cnf and modify to suit.

comment:5 in reply to:  4 Changed 16 years ago by edmond@…

Thanks.

comment:6 Changed 16 years ago by edmond@…

Perhaps the usability for people, like myself, who aren't familiar with mysql administration or MacPorts, would be higher is a default my.cnf was installed and variants could be chosen to select the others? Not sure if that has been considered, so I thought I'd suggest it.

comment:7 Changed 16 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.