Description:
When I ran scripts/mysql_install_db I got the following error:
FATAL ERROR: Could not find /fill_help_tables.sql
The configure script in source install is ignoring the prefix of /usr/local/mysql that I set in configure. See below.
How to repeat:
I ran the following commands to compile from source:
cd /usr/local/src/mysql-5.1.24-rc
./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-ssl
make
make install
scripts/mysql_install_db
When I ran the last command above, scripts/mysql_install_db, I got the following error:
FATAL ERROR: Could not find /fill_help_tables.sql
I ran this to find out what the error could be:
/usr/local/libexec/mysqld –print-defaults
--port=3306 --socket=/tmp/mysql.sock --skip-locking --key_buffer=16M
--max_allowed_packet=1M --table_cache=64 --sort_buffer_size=512K
--net_buffer_length=8K --read_buffer_size=256K
--read_rnd_buffer_size=512K --myisam_sort_buffer_size=8M
--log-bin=mysql-bin --server-id=1 --user=mysql
--pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock
--port=3306 --basedir=/usr --datadir=/var/lib/mysql --tmpdir=/tmp
--language=/usr/share/mysql/english --skip-external-locking --bind-address=127.0.0.1
--key_buffer=16M --max_allowed_packet=16M --thread_stack=128K --thread_cache_size=8
--query_cache_limit=1M --query_cache_size=16M --expire_logs_days=10 --max_binlog_size=100M
--skip-bdb
Note that the path prefix of /usr/local/mysql is totally ignored!!!!
As a work around I had to do this:
./scripts/mysql_install_db --no-defaults --port=3306 --socket=/tmp/mysql.sock \
--skip-locking --key_buffer=16M --max_allowed_packet=1M --table_cache=64 \
--sort_buffer_size=512K --net_buffer_length=8K --read_buffer_size=256K \
--read_rnd_buffer_size=512K --myisam_sort_buffer_size=8M --log-bin=mysql-bin \
--server-id=1 --user=mysql --pid-file=/var/run/mysqld/mysqld.pid \
--socket=/var/run/mysqld/mysqld.sock \
--port=3306 --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var \
--tmpdir=/tmp --language=/usr/local/mysql/share/mysql/english --skip-external-locking \
--bind-address=127.0.0.1 --key_buffer=16M --max_allowed_packet=16M \
--thread_stack=128K --thread_cache_size=8 --query_cache_limit=1M \
--query_cache_size=16M --expire_logs_days=10 --max_binlog_size=100M
Please fix your code! The above commands have worked in MySQL for 9 years.
Suggested fix:
Somebody needs to look at the configure script and fix it. The work around is above in the How to repeat section.