diff options
author | unknown <monty@mashka.mysql.fi> | 2003-01-16 20:47:46 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-01-16 20:47:46 +0200 |
commit | 9c2267bf5837552999c2b1458310c66283683243 (patch) | |
tree | e1fdb60db4adfe4fafddb5d063b62fbb7cff6326 /scripts/mysql_fix_privilege_tables.sh | |
parent | 6392a2254779a655043ac0e5c06f91c675ad4c07 (diff) | |
parent | 86d47bec1d2f698fca2708e8625f04dda810df3b (diff) | |
download | mariadb-git-9c2267bf5837552999c2b1458310c66283683243.tar.gz |
Merge with 3.23
innobase/btr/btr0btr.c:
Auto merged
ltconfig:
Auto merged
innobase/include/btr0btr.h:
Auto merged
innobase/log/log0log.c:
Auto merged
libmysql/Makefile.shared:
Auto merged
man/isamlog.1:
Auto merged
man/mysql.1:
Auto merged
man/mysql_zap.1:
Auto merged
man/isamchk.1:
Auto merged
man/mysqlaccess.1:
Auto merged
man/mysqladmin.1:
Auto merged
man/mysqld_multi.1:
Auto merged
man/mysqld.1:
Auto merged
man/mysqld_safe.1:
Auto merged
man/mysqldump.1:
Auto merged
man/mysqlshow.1:
Auto merged
man/replace.1:
Auto merged
myisam/mi_unique.c:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/net_pkg.cc:
Auto merged
sql/sql_table.cc:
Auto merged
strings/Makefile.am:
Auto merged
man/perror.1:
Auto merged
Makefile.am:
merge with 3.23
client/mysqltest.c:
merge with 3.23
innobase/btr/btr0pcur.c:
merge with 3.23 (use local file)
innobase/row/row0purge.c:
merge with 3.23 (use local file)
scripts/mysql_fix_privilege_tables.sh:
Merge with 3.23 (Apply debian patches)
sql/ha_innodb.cc:
merge with 3.23 (use local file)
sql/mysqld.cc:
Merge with 3.23 (use local file)
sql/net_serv.cc:
Merge with 3.23 (use local file)
sql/sql_db.cc:
Merge with 3.23 (use local file)
Diffstat (limited to 'scripts/mysql_fix_privilege_tables.sh')
-rw-r--r-- | scripts/mysql_fix_privilege_tables.sh | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/scripts/mysql_fix_privilege_tables.sh b/scripts/mysql_fix_privilege_tables.sh index 247e3399b8b..09259779855 100644 --- a/scripts/mysql_fix_privilege_tables.sh +++ b/scripts/mysql_fix_privilege_tables.sh @@ -1,19 +1,27 @@ #!/bin/sh echo "This scripts updates the mysql.user, mysql.db, mysql.host and the" -echo "mysql.func table to MySQL 3.22.14 and above." +echo "mysql.func tables to MySQL 3.22.14 and above." echo "" echo "This is needed if you want to use the new GRANT functions," -echo "CREATE AGGREAGATE FUNCTION or want to use the more secure passwords in 3.23" +echo "CREATE AGGREGATE FUNCTION or want to use the more secure passwords in 3.23" echo "" -echo "If you get Access denied errors, you should run this script again" -echo "and give the MySQL root user password as a argument!" +echo "If you get 'Access denied' errors, you should run this script again" +echo "and give the MySQL root user password as an argument!" root_password="$1" host="localhost" +user="root" + +if test -z $1 ; then + cmd="@bindir@/mysql -f --user=$user --host=$host mysql" +else + root_password="$1" + cmd="@bindir@/mysql -f --user=$user --password=$root_password --host=$host mysql" +fi echo "Converting all privilege tables to MyISAM format" -@bindir@/mysql -f --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA ALTER TABLE user type=MyISAM; ALTER TABLE db type=MyISAM; ALTER TABLE host type=MyISAM; @@ -28,7 +36,7 @@ echo "" echo "If your tables are already up to date or partially up to date you will" echo "get some warnings about 'Duplicated column name'. You can safely ignore these!" -@bindir@/mysql -f --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA alter table user change password password char(16) NOT NULL; alter table user add File_priv enum('N','Y') NOT NULL; CREATE TABLE if not exists func ( @@ -45,7 +53,7 @@ echo "" echo "Creating Grant Alter and Index privileges if they don't exists" echo "You can ignore any Duplicate column errors" -@bindir@/mysql --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA alter table user add Grant_priv enum('N','Y') NOT NULL,add References_priv enum('N','Y') NOT NULL,add Index_priv enum('N','Y') NOT NULL,add Alter_priv enum('N','Y') NOT NULL; alter table host add Grant_priv enum('N','Y') NOT NULL,add References_priv enum('N','Y') NOT NULL,add Index_priv enum('N','Y') NOT NULL,add Alter_priv enum('N','Y') NOT NULL; alter table db add Grant_priv enum('N','Y') NOT NULL,add References_priv enum('N','Y') NOT NULL,add Index_priv enum('N','Y') NOT NULL,add Alter_priv enum('N','Y') NOT NULL; @@ -59,7 +67,7 @@ echo "" if test $res = 0 then echo "Setting default privileges for the new grant, index and alter privileges" - @bindir@/mysql --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA + $cmd <<END_OF_DATA UPDATE user SET Grant_priv=File_priv,References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv; UPDATE db SET References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv; UPDATE host SET References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv; @@ -72,7 +80,7 @@ fi echo "Adding columns needed by GRANT .. REQUIRE (openssl)" echo "You can ignore any Duplicate column errors" -@bindir@/mysql -f --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA ALTER TABLE user ADD ssl_type enum('','ANY','X509', 'SPECIFIED') NOT NULL, ADD ssl_cipher BLOB NOT NULL, @@ -88,7 +96,7 @@ echo "" echo "Creating the new table and column privilege tables" -@bindir@/mysql -f --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA CREATE TABLE IF NOT EXISTS tables_priv ( Host char(60) DEFAULT '' NOT NULL, Db char(60) DEFAULT '' NOT NULL, @@ -119,7 +127,7 @@ END_OF_DATA echo "Changing name of columns_priv.Type -> columns_priv.Column_priv" echo "You can ignore any Unknown column errors from this" -@bindir@/mysql -f --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA ALTER TABLE columns_priv change Type Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL; END_OF_DATA echo "" @@ -131,7 +139,7 @@ echo "" echo "Fixing the func table" echo "You can ignore any Duplicate column errors" -@bindir@/mysql --user=root --password=$root_password mysql <<EOF +$cmd <<EOF alter table func add type enum ('function','aggregate') NOT NULL; EOF echo "" @@ -143,7 +151,7 @@ echo "" echo "Adding new fields used by MySQL 4.0.2 to the privilege tables" echo "You can ignore any Duplicate column errors" -@bindir@/mysql --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA alter table user add Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER alter_priv, add Super_priv enum('N','Y') DEFAULT 'N' NOT NULL AFTER Show_db_priv, @@ -159,7 +167,7 @@ then # Convert privileges so that users have similar privileges as before echo "" echo "Updating new privileges in MySQL 4.0.2 from old ones" - @bindir@/mysql --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA + $cmd <<END_OF_DATA update user set show_db_priv= select_priv, super_priv=process_priv, execute_priv=process_priv, create_tmp_table_priv='Y', Lock_tables_priv='Y', Repl_slave_priv=file_priv, Repl_client_priv=file_priv where user<>""; END_OF_DATA echo "" @@ -168,7 +176,7 @@ fi # Add fields that can be used to limit number of questions and connections # for some users. -@bindir@/mysql -f --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA alter table user add max_questions int(11) NOT NULL AFTER x509_subject, add max_updates int(11) unsigned NOT NULL AFTER max_questions, @@ -179,7 +187,7 @@ END_OF_DATA # Add Create_tmp_table_priv and Lock_tables_priv to db and host # -@bindir@/mysql --user=root --password="$root_password" --host="$host" mysql <<END_OF_DATA +$cmd <<END_OF_DATA alter table db add Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL, add Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL; |