Commit c0a1b2c8 authored by Joerg Bruehe's avatar Joerg Bruehe

Backport this change from MySQL 5.5 to 5.1:

  Bug #14181049: MYSQL_INSTALL_DB.PL CREATES EMPTY SYSTEM TABLES FOR MYSQL

  The script is different from what's used on unixes.
  It was not playing the table insertion script (mysql_system_tables_data.sql),
  although it was checking for the presence of this script.
  Fixed by re-enabling the lookup for this file and replaying it at bootstrap
  time. Note that on the Unixes "SELECT @@hostname" does return a fully qualified
  name, whereas on Windows it returns only a hostname.
  So by default we're filtering records in the mysql.user table until we ensure
  this is fixed.

The change was coded in 5.5 by Georgi Kodinov <Georgi.Kodinov@Oracle.com>
parent 95f6e191
......@@ -423,10 +423,11 @@ my $mysqld_install_cmd_line = quote_options($mysqld_bootstrap,
"--bootstrap",
"--basedir=$opt->{basedir}",
"--datadir=$opt->{ldata}",
"--skip-innodb",
"--skip-bdb",
"--skip-ndbcluster",
"--log-warnings=0",
"--loose-skip-innodb",
"--loose-skip-ndbcluster",
"--max_allowed_packet=8M",
"--default-storage-engine=MyISAM",
"--net_buffer_length=16K",
@args,
);
......@@ -439,6 +440,8 @@ report_verbose_wait($opt,"Installing MySQL system tables...");
open(SQL, $create_system_tables)
or error($opt,"can't open $create_system_tables for reading: $!");
open(SQL2, $fill_system_tables)
or error($opt,"can't open $fill_system_tables for reading: $!");
# FIXME > /dev/null ?
if ( open(PIPE, "| $mysqld_install_cmd_line") )
{
......@@ -452,8 +455,20 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") )
print PIPE $_;
}
while ( <SQL2> )
{
# TODO: make it similar to the above condition when we're sure
# @@hostname returns a fqdn
# When doing a "cross bootstrap" install, no reference to the current
# host should be added to the system tables. So we filter out any
# lines which contain the current host name.
next if /\@current_hostname/;
print PIPE $_;
}
close PIPE;
close SQL;
close SQL2;
report_verbose($opt,"OK");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment