mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
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.
This commit is contained in:
parent
d7da453a17
commit
aa624daf8b
1 changed files with 18 additions and 3 deletions
|
@ -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");
|
||||
|
||||
|
|
Loading…
Reference in a new issue