diff options
author | Sergei Golubchik <sergii@pisem.net> | 2012-09-24 11:33:41 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2012-09-24 11:33:41 +0200 |
commit | 7d82c6fa04a1469e657e2edb08e1629cd94c8c12 (patch) | |
tree | 11ad2c62f363def374c9a5ee108bd14f1ea5fbfd /scripts | |
parent | f37610ecb4c7917f1dd3015eb897b4ff41cd2b57 (diff) | |
download | mariadb-git-7d82c6fa04a1469e657e2edb08e1629cd94c8c12.tar.gz |
MDEV-543 mysql_install_db doesn't work with blanks in either basedir or datadir path
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/mysql_install_db.sh | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/scripts/mysql_install_db.sh b/scripts/mysql_install_db.sh index 399d8d47be0..5fcd56ffdc8 100644 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -248,7 +248,7 @@ fi # Now we can get arguments from the groups [mysqld] and [mysql_install_db] # in the my.cfg file, then re-run to merge with command line arguments. -parse_arguments `$print_defaults $defaults mysqld mysql_install_db` +parse_arguments `"$print_defaults" $defaults mysqld mysql_install_db` parse_arguments PICK-ARGS-FROM-ARGV "$@" # Configure paths to support files @@ -298,7 +298,7 @@ fill_help_tables="$pkgdatadir/fill_help_tables.sql" create_system_tables="$pkgdatadir/mysql_system_tables.sql" fill_system_tables="$pkgdatadir/mysql_system_tables_data.sql" -for f in $fill_help_tables $create_system_tables $fill_system_tables +for f in "$fill_help_tables" "$create_system_tables" "$fill_system_tables" do if test ! -f "$f" then @@ -329,14 +329,14 @@ hostname=`@HOSTNAME@` # Check if hostname is valid if test "$cross_bootstrap" -eq 0 -a "$in_rpm" -eq 0 -a "$force" -eq 0 then - resolved=`$extra_bindir/resolveip $hostname 2>&1` + resolved=`"$extra_bindir/resolveip" $hostname 2>&1` if test $? -ne 0 then - resolved=`$extra_bindir/resolveip localhost 2>&1` + resolved=`"$extra_bindir/resolveip" localhost 2>&1` if test $? -ne 0 then echo "Neither host '$hostname' nor 'localhost' could be looked up with" - echo "$extra_bindir/resolveip" + echo "'$extra_bindir/resolveip'" echo "Please configure the 'hostname' command to return a correct" echo "hostname." echo "If you want to solve this at a later stage, restart this script" @@ -358,16 +358,16 @@ then fi # Create database directories -for dir in $ldata $ldata/mysql $ldata/test +for dir in "$ldata" "$ldata/mysql" "$ldata/test" do - if test ! -d $dir + if test ! -d "$dir" then - mkdir -p $dir - chmod 700 $dir + mkdir -p "$dir" + chmod 700 "$dir" fi if test -w / -a ! -z "$user" then - chown $user $dir + chown $user "$dir" fi done @@ -388,15 +388,19 @@ fi # Configure mysqld command line mysqld_bootstrap="${MYSQLD_BOOTSTRAP-$mysqld}" -mysqld_install_cmd_line="$mysqld_bootstrap $defaults $mysqld_opt --bootstrap \ - --basedir=$basedir --datadir=$ldata --log-warnings=0 --loose-skip-innodb \ +mysqld_install_cmd_line() +{ + "$mysqld_bootstrap" $defaults "$mysqld_opt" --bootstrap \ + "--basedir=$basedir" "--datadir=$ldata" --log-warnings=0 --loose-skip-innodb \ --loose-skip-ndbcluster $args --max_allowed_packet=8M \ --default-storage-engine=myisam \ - --net_buffer_length=16K" + --net_buffer_length=16K +} + # Create the system and help tables by passing them to "mysqld --bootstrap" s_echo "Installing MariaDB/MySQL system tables..." -if { echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null +if { echo "use mysql;"; cat "$create_system_tables" "$fill_system_tables"; } | eval "$filter_cmd_line" | mysqld_install_cmd_line > /dev/null then s_echo "OK" else @@ -428,7 +432,7 @@ else fi s_echo "Filling help tables..." -if { echo "use mysql;"; cat $fill_help_tables; } | $mysqld_install_cmd_line > /dev/null +if { echo "use mysql;"; cat "$fill_help_tables"; } | mysqld_install_cmd_line > /dev/null then s_echo "OK" else @@ -450,11 +454,11 @@ then echo "PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !" echo "To do so, start the server, then issue the following commands:" echo - echo "$bindir/mysqladmin -u root password 'new-password'" - echo "$bindir/mysqladmin -u root -h $hostname password 'new-password'" + echo "'$bindir/mysqladmin' -u root password 'new-password'" + echo "'$bindir/mysqladmin' -u root -h $hostname password 'new-password'" echo echo "Alternatively you can run:" - echo "$bindir/mysql_secure_installation" + echo "'$bindir/mysql_secure_installation'" echo echo "which will also give you the option of removing the test" echo "databases and anonymous user created by default. This is" @@ -466,14 +470,14 @@ then then echo echo "You can start the MariaDB daemon with:" - echo "cd $basedir ; $bindir/mysqld_safe &" + echo "cd '$basedir' ; '$bindir/mysqld_safe' &" echo echo "You can test the MariaDB daemon with mysql-test-run.pl" - echo "cd $basedir/mysql-test ; perl mysql-test-run.pl" + echo "cd '$basedir/mysql-test' ; perl mysql-test-run.pl" fi echo - echo "Please report any problems with the $scriptdir/mysqlbug script!" + echo "Please report any problems with the '$scriptdir/mysqlbug' script!" echo echo "The latest information about MariaDB is available at http://www.askmonty.org/." echo "You can find additional information about the MySQL part at:" |