Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
b450f654
Commit
b450f654
authored
Sep 04, 2003
by
greg@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provide mysql_fix_privilege_tables.sql for Windows users to update grant tables (BUG #948)
Fix make_win_src_distribution
parent
b64d6a03
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
195 additions
and
13 deletions
+195
-13
scripts/make_win_src_distribution.sh
scripts/make_win_src_distribution.sh
+36
-13
scripts/mysql_fix_privilege_tables.sql
scripts/mysql_fix_privilege_tables.sql
+159
-0
No files found.
scripts/make_win_src_distribution.sh
View file @
b450f654
...
...
@@ -13,8 +13,8 @@ DEBUG=0
SILENT
=
0
SUFFIX
=
""
DIRNAME
=
""
OUTTAR
=
0
OUTZIP
=
0
OUTTAR
=
"0"
OUTZIP
=
"0"
#
# This script must run from MySQL top directory
...
...
@@ -114,16 +114,37 @@ done
# Convert argument file from unix to DOS text
#
unix_to_dos
()
{
for
arg
do
print_debug
"Replacing LF -> CRLF from '
$arg
'"
if
[
`
which recode
`
]
then
sed
-e
's/$/\r/'
$arg
>
$arg
.tmp
rm
-f
$arg
mv
$arg
.tmp
$arg
done
}
print_debug
"Using 'recode' to convert from unix to dos text"
unix_to_dos
()
{
for
arg
do
print_debug
"Replacing LF -> CRLF from '
$arg
'"
chmod
u+w
$arg
recode lat1..ibmpc
$arg
done
}
else
print_debug
"Using 'sed' to convert from unix to dos text"
unix_to_dos
()
{
for
arg
do
print_debug
"Replacing LF -> CRLF from '
$arg
'"
sed
-e
's/$/\r/'
$arg
>
$arg
.tmp
rm
-f
$arg
mv
$arg
.tmp
$arg
done
}
fi
#
...
...
@@ -363,8 +384,10 @@ which_1 ()
# Create the result zip/tar file
#
if
[
[
"
$OUTTAR
"
=
"0"
]
&&
[
"
$OUTZIP
"
=
"0"
]
]
;
then
OUTZIP
=
1
if
[
"
$OUTTAR
"
=
"0"
]
;
then
if
[
"
$OUTZIP
"
=
"0"
]
;
then
OUTZIP
=
1
fi
fi
set_tarzip_options
()
...
...
scripts/mysql_fix_privilege_tables.sql
0 → 100644
View file @
b450f654
-- This scripts updates the mysql.user, mysql.db, mysql.host and the
-- mysql.func tables to MySQL 3.22.14 and above.
-- This is needed if you want to use the new GRANT functions,
-- CREATE AGGREGATE FUNCTION or want to use the more secure passwords in 3.23
-- If you get 'Access denied' errors, you should run this script again
-- and give the MySQL root user password as an argument!
-- Converting all privilege tables to MyISAM format
ALTER
TABLE
user
type
=
MyISAM
;
ALTER
TABLE
db
type
=
MyISAM
;
ALTER
TABLE
host
type
=
MyISAM
;
ALTER
TABLE
func
type
=
MyISAM
;
ALTER
TABLE
columns_priv
type
=
MyISAM
;
ALTER
TABLE
tables_priv
type
=
MyISAM
;
-- Fix old password format, add File_priv and func table
-- If your tables are already up to date or partially up to date you will
-- get some warnings about 'Duplicated column name'. You can safely ignore these!
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
(
name
char
(
64
)
DEFAULT
''
NOT
NULL
,
ret
tinyint
(
1
)
DEFAULT
'0'
NOT
NULL
,
dl
char
(
128
)
DEFAULT
''
NOT
NULL
,
type
enum
(
'function'
,
'aggregate'
)
NOT
NULL
,
PRIMARY
KEY
(
name
)
);
-- Add the new grant colums
-- Creating Grant Alter and Index privileges if they don't exists
-- You can ignore any Duplicate column errors
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
;
-- If the new grant columns didn't exists, copy File -> Grant
-- and Create -> Alter, Index, References
-- Setting default privileges for the new grant, index and alter privileges
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
;
--
-- The second alter changes ssl_type to new 4.0.2 format
-- Adding columns needed by GRANT .. REQUIRE (openssl)"
-- You can ignore any Duplicate column errors"
ALTER
TABLE
user
ADD
ssl_type
enum
(
''
,
'ANY'
,
'X509'
,
'SPECIFIED'
)
NOT
NULL
,
ADD
ssl_cipher
BLOB
NOT
NULL
,
ADD
x509_issuer
BLOB
NOT
NULL
,
ADD
x509_subject
BLOB
NOT
NULL
;
ALTER
TABLE
user
MODIFY
ssl_type
enum
(
''
,
'ANY'
,
'X509'
,
'SPECIFIED'
)
NOT
NULL
;
--
-- Create tables_priv and columns_priv if they don't exists
--
-- Creating the new table and column privilege tables"
CREATE
TABLE
IF
NOT
EXISTS
tables_priv
(
Host
char
(
60
)
DEFAULT
''
NOT
NULL
,
Db
char
(
60
)
DEFAULT
''
NOT
NULL
,
User
char
(
16
)
DEFAULT
''
NOT
NULL
,
Table_name
char
(
60
)
DEFAULT
''
NOT
NULL
,
Grantor
char
(
77
)
DEFAULT
''
NOT
NULL
,
Timestamp
timestamp
(
14
),
Table_priv
set
(
'Select'
,
'Insert'
,
'Update'
,
'Delete'
,
'Create'
,
'Drop'
,
'Grant'
,
'References'
,
'Index'
,
'Alter'
)
DEFAULT
''
NOT
NULL
,
Column_priv
set
(
'Select'
,
'Insert'
,
'Update'
,
'References'
)
DEFAULT
''
NOT
NULL
,
PRIMARY
KEY
(
Host
,
Db
,
User
,
Table_name
)
);
CREATE
TABLE
IF
NOT
EXISTS
columns_priv
(
Host
char
(
60
)
DEFAULT
''
NOT
NULL
,
Db
char
(
60
)
DEFAULT
''
NOT
NULL
,
User
char
(
16
)
DEFAULT
''
NOT
NULL
,
Table_name
char
(
60
)
DEFAULT
''
NOT
NULL
,
Column_name
char
(
59
)
DEFAULT
''
NOT
NULL
,
Timestamp
timestamp
(
14
),
Column_priv
set
(
'Select'
,
'Insert'
,
'Update'
,
'References'
)
DEFAULT
''
NOT
NULL
,
PRIMARY
KEY
(
Host
,
Db
,
User
,
Table_name
,
Column_name
)
);
--
-- Name change of Type -> Column_priv from MySQL 3.22.12
--
-- Changing name of columns_priv.Type -> columns_priv.Column_priv
-- You can ignore any Unknown column errors from this
ALTER
TABLE
columns_priv
change
Type
Column_priv
set
(
'Select'
,
'Insert'
,
'Update'
,
'References'
)
DEFAULT
''
NOT
NULL
;
--
-- Add the new 'type' column to the func table.
--
-- Fixing the func table
-- You can ignore any Duplicate column errors
alter
table
func
add
type
enum
(
'function'
,
'aggregate'
)
NOT
NULL
;
--
-- Change the user,db and host tables to MySQL 4.0 format
--
-- Adding new fields used by MySQL 4.0.2 to the privilege tables
-- You can ignore any Duplicate column errors
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
,
add
Create_tmp_table_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
AFTER
Super_priv
,
add
Lock_tables_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
AFTER
Create_tmp_table_priv
,
add
Execute_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
AFTER
Lock_tables_priv
,
add
Repl_slave_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
AFTER
Execute_priv
,
add
Repl_client_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
AFTER
Repl_slave_priv
;
-- Convert privileges so that users have similar privileges as before
-- Updating new privileges in MySQL 4.0.2 from old ones
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
<>
""
;
-- Add fields that can be used to limit number of questions and connections
-- for some users.
alter
table
user
add
max_questions
int
(
11
)
NOT
NULL
AFTER
x509_subject
,
add
max_updates
int
(
11
)
unsigned
NOT
NULL
AFTER
max_questions
,
add
max_connections
int
(
11
)
unsigned
NOT
NULL
AFTER
max_updates
;
--
-- Add Create_tmp_table_priv and Lock_tables_priv to db and host
--
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
;
alter
table
host
add
Create_tmp_table_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
,
add
Lock_tables_priv
enum
(
'N'
,
'Y'
)
DEFAULT
'N'
NOT
NULL
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment