summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/include/default_my.cnf8
-rwxr-xr-xmysql-test/lib/v1/mysql-test-run.pl23
-rwxr-xr-xmysql-test/mysql-test-run.pl29
-rw-r--r--mysql-test/t/system_mysql_db_fix30020.test108
-rw-r--r--scripts/Makefile.am3
-rw-r--r--scripts/mysql_fix_privilege_tables.sh223
-rw-r--r--scripts/mysql_system_tables_fix.sql4
-rw-r--r--sql/udf_example.c2
-rw-r--r--support-files/mysql.spec.sh6
9 files changed, 6 insertions, 400 deletions
diff --git a/mysql-test/include/default_my.cnf b/mysql-test/include/default_my.cnf
index d77fee0e200..fc2bd5d1140 100644
--- a/mysql-test/include/default_my.cnf
+++ b/mysql-test/include/default_my.cnf
@@ -12,14 +12,6 @@ log-bin= master-bin
[mysqlbinlog]
disable-force-if-open
-# mysql_fix_privilege_tables.sh does not read from [client] so it
-# need its own section
-[mysql_fix_privilege_tables]
-socket= @client.socket
-port= @client.port
-user= @client.user
-password= @client.password
-
[ENV]
MASTER_MYPORT= @mysqld.1.port
MASTER_MYSOCK= @mysqld.1.socket
diff --git a/mysql-test/lib/v1/mysql-test-run.pl b/mysql-test/lib/v1/mysql-test-run.pl
index 86ad5c485c1..c319036b193 100755
--- a/mysql-test/lib/v1/mysql-test-run.pl
+++ b/mysql-test/lib/v1/mysql-test-run.pl
@@ -152,7 +152,6 @@ our $exe_mysqldump;
our $exe_mysqlslap;
our $exe_mysqlimport;
our $exe_mysqlshow;
-our $exe_mysql_fix_system_tables;
our $file_mysql_fix_privilege_tables;
our $exe_mysqltest;
our $exe_ndbd;
@@ -1673,14 +1672,6 @@ sub executable_setup () {
$exe_mysql_upgrade= "";
}
- if ( ! $glob_win32 )
- {
- # Look for mysql_fix_system_table script
- $exe_mysql_fix_system_tables=
- mtr_script_exists("$glob_basedir/scripts/mysql_fix_privilege_tables",
- "$path_client_bindir/mysql_fix_privilege_tables");
- }
-
# Look for mysql_fix_privilege_tables.sql script
$file_mysql_fix_privilege_tables=
mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql",
@@ -2152,20 +2143,6 @@ sub environment_setup () {
$ENV{'MYSQL_UPGRADE'}= mysql_upgrade_arguments();
}
- # ----------------------------------------------------
- # Setup env so childs can execute mysql_fix_system_tables
- # ----------------------------------------------------
- if ( !$opt_extern && ! $glob_win32 )
- {
- my $cmdline_mysql_fix_system_tables=
- "$exe_mysql_fix_system_tables --no-defaults --host=localhost " .
- "--user=root --password= " .
- "--basedir=$glob_basedir --bindir=$path_client_bindir --verbose " .
- "--port=$master->[0]->{'port'} " .
- "--socket=$master->[0]->{'path_sock'}";
- $ENV{'MYSQL_FIX_SYSTEM_TABLES'}= $cmdline_mysql_fix_system_tables;
-
- }
$ENV{'MYSQL_FIX_PRIVILEGE_TABLES'}= $file_mysql_fix_privilege_tables;
# ----------------------------------------------------
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 17102196f42..ba4fd1ad2b3 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -1635,26 +1635,8 @@ sub client_debug_arg($$) {
}
-sub mysql_fix_arguments () {
-
- return "" if ( IS_WINDOWS );
-
- my $exe=
- mtr_script_exists("$basedir/scripts/mysql_fix_privilege_tables",
- "$path_client_bindir/mysql_fix_privilege_tables");
- my $args;
- mtr_init_args(\$args);
- mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
-
- mtr_add_arg($args, "--basedir=%s", $basedir);
- mtr_add_arg($args, "--bindir=%s", $path_client_bindir);
- mtr_add_arg($args, "--verbose");
- return mtr_args2str($exe, @$args);
-}
-
-
sub client_arguments ($;$) {
- my $client_name= shift;
+ my $client_name= shift;
my $group_suffix= shift;
my $client_exe= mtr_exe_exists("$path_client_bindir/$client_name");
@@ -1943,7 +1925,6 @@ sub environment_setup {
$ENV{'MYSQL_UPGRADE'}= client_arguments("mysql_upgrade");
$ENV{'MYSQLADMIN'}= native_path($exe_mysqladmin);
$ENV{'MYSQL_CLIENT_TEST'}= mysql_client_test_arguments();
- $ENV{'MYSQL_FIX_SYSTEM_TABLES'}= mysql_fix_arguments();
$ENV{'EXE_MYSQL'}= $exe_mysql;
# ----------------------------------------------------
@@ -2509,14 +2490,6 @@ sub create_config_file_for_extern {
[mysqlbinlog]
character-sets-dir= $path_charsetsdir
-# mysql_fix_privilege_tables.sh don't read from [client]
-[mysql_fix_privilege_tables]
-socket = $opts{'socket'}
-port = $opts{'port'}
-user = $opts{'user'}
-password = $opts{'password'}
-
-
EOF
;
diff --git a/mysql-test/t/system_mysql_db_fix30020.test b/mysql-test/t/system_mysql_db_fix30020.test
deleted file mode 100644
index 0a7d9dad7c9..00000000000
--- a/mysql-test/t/system_mysql_db_fix30020.test
+++ /dev/null
@@ -1,108 +0,0 @@
-# Embedded server doesn't support external clients
---source include/not_embedded.inc
-
-# Don't run this test if $MYSQL_FIX_SYSTEM_TABLES isn't set
-# to the location of mysql_fix_privilege_tables.sql
-if (`SELECT LENGTH("$MYSQL_FIX_SYSTEM_TABLES") <= 0`)
-{
- skip Test need MYSQL_FIX_SYSTEM_TABLES;
-}
-# check that CSV engine was compiled in, as the test relies on the presence
-# of the log tables (which are CSV-based)
---source include/have_csv.inc
-
-#
-# This is the test for mysql_fix_privilege_tables
-# It checks that a system tables from mysql 3.20
-# can be upgraded to current system table format
-#
-# Note: If this test fails, don't be confused about the errors reported
-# by mysql-test-run This shows warnings generated by
-# mysql_fix_system_tables which should be ignored.
-# Instead, concentrate on the errors in r/system_mysql_db.reject
-
--- disable_result_log
--- disable_query_log
-
-use test;
-
-# create system tables as in mysql-3.20
-
---disable_warnings
-CREATE TABLE db (
- Host char(60) binary DEFAULT '' NOT NULL,
- Db char(32) binary DEFAULT '' NOT NULL,
- User char(16) binary DEFAULT '' NOT NULL,
- Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- PRIMARY KEY Host (Host,Db,User),
- KEY User (User)
-)
-engine=MyISAM;
---enable_warnings
-
-INSERT INTO db VALUES ('%','test', '','Y','Y','Y','Y','Y','Y');
-INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y');
-
---disable_warnings
-CREATE TABLE host (
- Host char(60) binary DEFAULT '' NOT NULL,
- Db char(32) binary DEFAULT '' NOT NULL,
- Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- PRIMARY KEY Host (Host,Db)
-)
-engine=MyISAM;
---enable_warnings
-
---disable_warnings
-CREATE TABLE user (
- Host char(60) binary DEFAULT '' NOT NULL,
- User char(16) binary DEFAULT '' NOT NULL,
- Password char(16),
- Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,
- PRIMARY KEY Host (Host,User)
-)
-engine=MyISAM;
---enable_warnings
-
-INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y');
-INSERT INTO user VALUES ('localhost','', '','N','N','N','N','N','N','N','N','N');
-
-# Call the "shell script" $MYSQL_FIX_SYSTEM_TABLES using system
--- system $MYSQL_FIX_SYSTEM_TABLES --database=test > $MYSQLTEST_VARDIR/log/system_mysql_db_fix30020.log 2>&1
--- enable_query_log
--- enable_result_log
-
--- source include/system_db_struct.inc
-
--- disable_query_log
-
-DROP TABLE db, host, user, func, plugin, tables_priv, columns_priv,
-procs_priv, servers, help_category, help_keyword, help_relation, help_topic, proc,
-time_zone, time_zone_leap_second, time_zone_name, time_zone_transition,
-time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index;
-
--- enable_query_log
-
-# check that we dropped all system tables
-show tables;
-
-exit;
-# End of 4.1 tests
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index cd758370388..09280aef2ab 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -23,7 +23,6 @@ EXTRA_PROGRAMS = comp_sql
bin_SCRIPTS = @server_scripts@ \
msql2mysql \
mysql_config \
- mysql_fix_privilege_tables \
mysql_fix_extensions \
mysql_setpermission \
mysql_secure_installation \
@@ -45,7 +44,6 @@ EXTRA_SCRIPTS = make_binary_distribution.sh \
msql2mysql.sh \
mysql_config.sh \
mysql_config.pl.in \
- mysql_fix_privilege_tables.sh \
mysql_fix_extensions.sh \
mysql_install_db.sh \
mysql_install_db.pl.in \
@@ -82,7 +80,6 @@ CLEANFILES = @server_scripts@ \
make_sharedlib_distribution \
msql2mysql \
mysql_config \
- mysql_fix_privilege_tables \
mysql_fix_extensions \
mysql_setpermission \
mysql_secure_installation \
diff --git a/scripts/mysql_fix_privilege_tables.sh b/scripts/mysql_fix_privilege_tables.sh
deleted file mode 100644
index 3b179957932..00000000000
--- a/scripts/mysql_fix_privilege_tables.sh
+++ /dev/null
@@ -1,223 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2000-2006 MySQL AB
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# This script is a wrapper to pipe the mysql_fix_privilege_tables.sql
-# through the mysql client program to the mysqld server
-
-# Default values (Can be changed in my.cnf)
-password=""
-host="localhost"
-user="root"
-sql_only=0
-basedir="@prefix@"
-verbose=0
-args=""
-# no elaborate fallback here; with no argument, it will happen in "mysql"
-port=""
-socket=""
-database="mysql"
-bindir=""
-pkgdatadir="@pkgdatadir@"
-print_defaults_bindir="."
-
-file=mysql_fix_privilege_tables.sql
-
-# The following test is to make this script compatible with the 4.0 where
-# the single argument could be a password
-if test "$#" = 1
-then
- case "$1" in
- --*) ;;
- *) old_style_password="$1" ; shift ;;
- esac
-fi
-
-# The following code is almost identical to the code in mysql_install_db.sh
-
-case "$1" in
- --no-defaults|--defaults-file=*|--defaults-extra-file=*)
- defaults="$1"; shift
- ;;
-esac
-
-parse_arguments() {
- # We only need to pass arguments through to the server if we don't
- # handle them here. So, we collect unrecognized options (passed on
- # the command line) into the args variable.
- pick_args=
- if test "$1" = PICK-ARGS-FROM-ARGV
- then
- pick_args=1
- shift
- fi
-
- for arg do
- case "$arg" in
- --basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
- --user=*) user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
- --password=*) password=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
- --host=*) host=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
- --sql|--sql-only) sql_only=1 ;;
- --verbose) verbose=1 ;;
- --port=*) port=`echo "$arg" | sed -e "s;--port=;;"` ;;
- --socket=*) socket=`echo "$arg" | sed -e "s;--socket=;;"` ;;
- --database=*) database=`echo "$arg" | sed -e "s;--database=;;"` ;;
- --bindir=*) bindir=`echo "$arg" | sed -e "s;--bindir=;;"`
- print_defaults_bindir=$bindir
- ;;
- *)
- if test -n "$pick_args"
- then
- # This sed command makes sure that any special chars are quoted,
- # so the arg gets passed exactly to the server.
- args="$args "`echo "$arg" | sed -e 's,\([^=a-zA-Z0-9_.-]\),\\\\\1,g'`
- fi
- ;;
- esac
- done
-}
-
-# Get first arguments from the my.cfg file, groups [mysqld] and
-# [mysql_install_db], and then merge with the command line arguments
-
-print_defaults=my_print_defaults
-for dir in ./bin @bindir@ @bindir@ extra $print_defaults_bindir/../bin $print_defaults_bindir/../extra
-do
- if test -x $dir/my_print_defaults
- then
- print_defaults="$dir/my_print_defaults"
- break
- fi
-done
-
-parse_arguments `$print_defaults $defaults mysql_install_db mysql_fix_privilege_tables`
-parse_arguments PICK-ARGS-FROM-ARGV "$@"
-
-if test -z "$password"
-then
- password=$old_style_password
-fi
-
-# Find where 'mysql' command is located
-
-dirname=`dirname "$0"`
-
-if test -z "$bindir"
-then
- for i in @bindir@ $basedir/bin "$dirname/../client"
- do
- if test -f $i/mysql
- then
- bindir=$i
- break
- fi
- done
-fi
-
-if test -z "$bindir"
-then
- echo "Could not find MySQL command-line client (mysql)."
- echo "Please use --basedir to specify the directory where MySQL is installed."
- exit 1
-fi
-
-cmd="$bindir/mysql --no-defaults --force --user=$user --host=$host"
-if test ! -z "$port"; then
- cmd="$cmd --port=$port"
-fi
-if test ! -z "$socket"; then
- cmd="$cmd --socket=$socket"
-fi
-cmd="$cmd --database=$database"
-
-if test $sql_only = 1
-then
- cmd="cat"
-fi
-
-# Find where first mysql_fix_privilege_tables.sql is located
-for i in $basedir/support-files $basedir/share $basedir/share/mysql \
- $basedir/scripts $pkgdatadir . "$dirname"
-do
- if test -f $i/$file
- then
- pkgdatadir=$i
- break
- fi
-done
-
-sql_file="$pkgdatadir/$file"
-if test ! -f $sql_file
-then
- echo "Could not find file '$file'."
- echo "Please use --basedir to specify the directory where MySQL is installed"
- exit 1
-fi
-
-s_echo()
-{
- if test $sql_only = 0
- then
- echo $1
- fi
-}
-
-s_echo "This script updates all the mysql privilege tables to be usable by"
-s_echo "the current version of MySQL"
-s_echo ""
-
-if test $verbose = 1
-then
- s_echo "You can safely ignore all 'Duplicate column' and 'Unknown column' errors"
- s_echo "because these just mean that your tables are already up to date."
- s_echo "This script is safe to run even if your tables are already up to date!"
- s_echo ""
-fi
-
-run_cmd() {
- # Password argument is added here to allow for spaces in password.
-
- if test ! -z "$password"
- then
- cat $sql_file | $cmd --password="$password"
- else
- cat $sql_file | $cmd
- fi
-}
-
-if test $verbose = 0
-then
- run_cmd > /dev/null 2>&1
-else
- run_cmd > /dev/null
-fi
-if test $? = 0
-then
- s_echo "done"
-else
- s_echo "Got a failure from command:"
- s_echo "cat $sql_file | $cmd"
- s_echo "Please check the above output and try again."
- if test $verbose = 0
- then
- s_echo ""
- s_echo "Running the script with the --verbose option may give you some information"
- s_echo "of what went wrong."
- fi
- s_echo ""
- s_echo "If you get an 'Access denied' error, you should run this script again and"
- s_echo "give the MySQL root user password as an argument with the --password= option"
-fi
diff --git a/scripts/mysql_system_tables_fix.sql b/scripts/mysql_system_tables_fix.sql
index a6497f57f0a..8f6f6a38a68 100644
--- a/scripts/mysql_system_tables_fix.sql
+++ b/scripts/mysql_system_tables_fix.sql
@@ -5,10 +5,6 @@
# because these just mean that your tables are already up to date.
# This script is safe to run even if your tables are already up to date!
-# On unix, you should use the mysql_fix_privilege_tables script to execute
-# this sql script.
-# On windows you should do 'mysql --force mysql < mysql_fix_privilege_tables.sql'
-
set sql_mode='';
set storage_engine=MyISAM;
diff --git a/sql/udf_example.c b/sql/udf_example.c
index 30d85d95034..4e24735a93d 100644
--- a/sql/udf_example.c
+++ b/sql/udf_example.c
@@ -107,7 +107,7 @@
** option.
**
** If you can't get AGGREGATES to work, check that you have the column
-** 'type' in the mysql.func table. If not, run 'mysql_fix_privilege_tables'.
+** 'type' in the mysql.func table. If not, run 'mysql_upgrade'.
**
*/
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 60bf9213362..b55040c7a0f 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -660,7 +660,6 @@ fi
%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8*
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
-%doc %attr(644, root, man) %{_mandir}/man1/mysql_fix_privilege_tables.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysql_install_db.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
@@ -683,7 +682,6 @@ fi
%attr(755, root, root) %{_bindir}/myisampack
%attr(755, root, root) %{_bindir}/mysql_convert_table_format
%attr(755, root, root) %{_bindir}/mysql_fix_extensions
-%attr(755, root, root) %{_bindir}/mysql_fix_privilege_tables
%attr(755, root, root) %{_bindir}/mysql_install_db
%attr(755, root, root) %{_bindir}/mysql_secure_installation
%attr(755, root, root) %{_bindir}/mysql_setpermission
@@ -867,6 +865,10 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Fri Oct 06 2009 Magnus Blaudd <mvensson@mysql.com>
+
+- Removed mysql_fix_privilege_tables
+
* Fri Aug 28 2009 Joerg Bruehe <joerg.bruehe@sun.com>
- Merge up from 5.1 to 5.4: Remove handling for the InnoDB plugin.