mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 11.0 into 11.1
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
-- Copyright (C) 2003, 2013 Oracle and/or its affiliates.
|
||||
-- Copyright (C) 2010, 2022, MariaDB Corporation
|
||||
-- Copyright (C) 2010, 2023, MariaDB Corporation
|
||||
--
|
||||
-- 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
|
||||
@ -15,7 +15,7 @@
|
||||
-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
||||
|
||||
# This part converts any old privilege tables to privilege tables suitable
|
||||
# for current version of MySQL
|
||||
# for current version of MariaDB
|
||||
|
||||
# You can safely ignore all 'Duplicate column' and 'Unknown column' errors
|
||||
# because these just mean that your tables are already up to date.
|
||||
@ -28,6 +28,7 @@ set sql_mode='';
|
||||
set default_storage_engine=Aria;
|
||||
set enforce_storage_engine=NULL;
|
||||
set alter_algorithm='DEFAULT';
|
||||
set use_stat_tables='NEVER';
|
||||
|
||||
|
||||
--
|
||||
@ -80,20 +81,20 @@ ALTER TABLE help_keyword ENGINE=Aria transactional=0;
|
||||
ALTER TABLE table_stats ENGINE=Aria transactional=0;
|
||||
ALTER TABLE index_stats ENGINE=Aria transactional=0;
|
||||
|
||||
ALTER TABLE user add File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE user add File_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
|
||||
# Detect whether or not we had the Grant_priv column
|
||||
SET @hadGrantPriv:=0;
|
||||
SELECT @hadGrantPriv:=1 FROM user WHERE Grant_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user add Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
add References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db add Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
add References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE user add Grant_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
add References_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Index_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Alter_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db add Grant_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
add References_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Index_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
add Alter_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
|
||||
# Fix privileges for old tables
|
||||
UPDATE user SET Grant_priv=File_priv,References_priv=Create_priv,Index_priv=Create_priv,Alter_priv=Create_priv WHERE @hadGrantPriv = 0;
|
||||
@ -120,17 +121,17 @@ ALTER TABLE tables_priv
|
||||
MODIFY Db char(64) NOT NULL default '',
|
||||
MODIFY User char(128) binary NOT NULL default '',
|
||||
MODIFY Table_name char(64) NOT NULL default '',
|
||||
MODIFY Grantor varchar(384) COLLATE utf8_bin NOT NULL default '',
|
||||
MODIFY Grantor varchar(384) COLLATE utf8mb3_bin NOT NULL default '',
|
||||
ENGINE=Aria,
|
||||
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
|
||||
|
||||
ALTER TABLE tables_priv
|
||||
MODIFY Column_priv set('Select','Insert','Update','References')
|
||||
COLLATE utf8_general_ci DEFAULT '' NOT NULL,
|
||||
COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL,
|
||||
MODIFY Table_priv set('Select','Insert','Update','Delete','Create',
|
||||
'Drop','Grant','References','Index','Alter',
|
||||
'Create View','Show view','Trigger','Delete versioning rows')
|
||||
COLLATE utf8_general_ci DEFAULT '' NOT NULL,
|
||||
COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL,
|
||||
COMMENT='Table privileges';
|
||||
|
||||
#
|
||||
@ -141,7 +142,7 @@ ALTER TABLE tables_priv
|
||||
#
|
||||
ALTER TABLE columns_priv
|
||||
CHANGE Type Column_priv set('Select','Insert','Update','References')
|
||||
COLLATE utf8_general_ci DEFAULT '' NOT NULL;
|
||||
COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL;
|
||||
|
||||
ALTER TABLE columns_priv
|
||||
MODIFY Host char(255) NOT NULL default '',
|
||||
@ -150,18 +151,18 @@ ALTER TABLE columns_priv
|
||||
MODIFY Table_name char(64) NOT NULL default '',
|
||||
MODIFY Column_name char(64) NOT NULL default '',
|
||||
ENGINE=Aria,
|
||||
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin,
|
||||
CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin,
|
||||
COMMENT='Column privileges';
|
||||
|
||||
ALTER TABLE columns_priv
|
||||
MODIFY Column_priv set('Select','Insert','Update','References')
|
||||
COLLATE utf8_general_ci DEFAULT '' NOT NULL;
|
||||
COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL;
|
||||
|
||||
#
|
||||
# Add the new 'type' column to the func table.
|
||||
#
|
||||
|
||||
ALTER TABLE func add type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL;
|
||||
ALTER TABLE func add type enum ('function','aggregate') COLLATE utf8mb3_general_ci NOT NULL;
|
||||
|
||||
#
|
||||
# Change the user,db and host tables to current format
|
||||
@ -172,13 +173,13 @@ SET @hadShowDbPriv:=0;
|
||||
SELECT @hadShowDbPriv:=1 FROM user WHERE Show_db_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user
|
||||
ADD Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Alter_priv,
|
||||
ADD Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Show_db_priv,
|
||||
ADD Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Super_priv,
|
||||
ADD Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_tmp_table_priv,
|
||||
ADD Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Lock_tables_priv,
|
||||
ADD Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Execute_priv,
|
||||
ADD Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Repl_slave_priv;
|
||||
ADD Show_db_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Alter_priv,
|
||||
ADD Super_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Show_db_priv,
|
||||
ADD Create_tmp_table_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Super_priv,
|
||||
ADD Lock_tables_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_tmp_table_priv,
|
||||
ADD Execute_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Lock_tables_priv,
|
||||
ADD Repl_slave_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Execute_priv,
|
||||
ADD Repl_client_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Repl_slave_priv;
|
||||
|
||||
# Convert privileges so that users have similar privileges as before
|
||||
|
||||
@ -199,8 +200,8 @@ ADD max_connections int(11) unsigned NOT NULL DEFAULT 0 AFTER max_updates;
|
||||
#
|
||||
|
||||
ALTER TABLE db
|
||||
ADD Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
ADD Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
ADD Create_tmp_table_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
ADD Lock_tables_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
|
||||
alter table user change max_questions max_questions int(11) unsigned DEFAULT 0 NOT NULL;
|
||||
|
||||
@ -214,7 +215,7 @@ alter table func comment='User defined functions';
|
||||
ALTER TABLE user
|
||||
MODIFY Host char(255) NOT NULL default '',
|
||||
MODIFY User char(128) binary NOT NULL default '',
|
||||
ENGINE=Aria, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
ENGINE=Aria, CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
|
||||
|
||||
# In MySQL 5.7.6 the Password column is removed. Recreate it to preserve the number
|
||||
# of columns MariaDB expects in the user table.
|
||||
@ -231,53 +232,53 @@ DELETE FROM plugin
|
||||
|
||||
ALTER TABLE user
|
||||
MODIFY Password char(41) character set latin1 collate latin1_bin NOT NULL default '',
|
||||
MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Reload_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Shutdown_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Process_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY File_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Show_db_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Super_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Repl_slave_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Repl_client_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL;
|
||||
MODIFY Select_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Insert_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Update_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Delete_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Drop_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Reload_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Shutdown_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Process_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY File_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Grant_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY References_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Index_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Alter_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Show_db_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Super_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_tmp_table_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Lock_tables_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Execute_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Repl_slave_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Repl_client_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL;
|
||||
|
||||
ALTER TABLE db
|
||||
MODIFY Host char(255) NOT NULL default '',
|
||||
MODIFY Db char(64) NOT NULL default '',
|
||||
MODIFY User char(128) binary NOT NULL default '',
|
||||
ENGINE=Aria, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
ENGINE=Aria, CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
|
||||
ALTER TABLE db
|
||||
MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Delete_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Drop_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Grant_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY References_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Index_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Alter_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_tmp_table_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Lock_tables_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
MODIFY Select_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Insert_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Update_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Delete_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Drop_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Grant_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY References_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Index_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Alter_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Create_tmp_table_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL,
|
||||
MODIFY Lock_tables_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
|
||||
|
||||
ALTER TABLE func
|
||||
ENGINE=Aria, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
ENGINE=Aria, CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
|
||||
ALTER TABLE func
|
||||
MODIFY type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL;
|
||||
MODIFY type enum ('function','aggregate') COLLATE utf8mb3_general_ci NOT NULL;
|
||||
|
||||
#
|
||||
# Modify log tables.
|
||||
@ -316,9 +317,9 @@ ALTER TABLE slow_log
|
||||
SET GLOBAL log_slow_query = @old_log_state;
|
||||
|
||||
ALTER TABLE plugin
|
||||
MODIFY name varchar(64) COLLATE utf8_general_ci NOT NULL DEFAULT '',
|
||||
MODIFY dl varchar(128) COLLATE utf8_general_ci NOT NULL DEFAULT '',
|
||||
CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||
MODIFY name varchar(64) COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
|
||||
MODIFY dl varchar(128) COLLATE utf8mb3_general_ci NOT NULL DEFAULT '',
|
||||
CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci;
|
||||
|
||||
#
|
||||
# Detect whether we had Create_view_priv
|
||||
@ -329,21 +330,21 @@ SELECT @hadCreateViewPriv:=1 FROM user WHERE Create_view_priv IS NOT NULL;
|
||||
#
|
||||
# Create VIEWs privileges (v5.0)
|
||||
#
|
||||
ALTER TABLE db ADD Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Lock_tables_priv;
|
||||
ALTER TABLE db MODIFY Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Lock_tables_priv;
|
||||
ALTER TABLE db ADD Create_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Lock_tables_priv;
|
||||
ALTER TABLE db MODIFY Create_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Lock_tables_priv;
|
||||
|
||||
|
||||
ALTER TABLE user ADD Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Repl_client_priv;
|
||||
ALTER TABLE user MODIFY Create_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Repl_client_priv;
|
||||
ALTER TABLE user ADD Create_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Repl_client_priv;
|
||||
ALTER TABLE user MODIFY Create_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Repl_client_priv;
|
||||
|
||||
#
|
||||
# Show VIEWs privileges (v5.0)
|
||||
#
|
||||
ALTER TABLE db ADD Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
ALTER TABLE db MODIFY Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
ALTER TABLE db ADD Show_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
ALTER TABLE db MODIFY Show_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
|
||||
ALTER TABLE user ADD Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
ALTER TABLE user MODIFY Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
ALTER TABLE user ADD Show_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
ALTER TABLE user MODIFY Show_view_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_view_priv;
|
||||
|
||||
#
|
||||
# Assign create/show view privileges to people who have create provileges
|
||||
@ -359,23 +360,23 @@ SELECT @hadCreateRoutinePriv:=1 FROM user WHERE Create_routine_priv IS NOT NULL;
|
||||
#
|
||||
# Create PROCEDUREs privileges (v5.0)
|
||||
#
|
||||
ALTER TABLE db ADD Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
ALTER TABLE db MODIFY Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
ALTER TABLE db ADD Create_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
ALTER TABLE db MODIFY Create_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
|
||||
ALTER TABLE user ADD Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
ALTER TABLE user MODIFY Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
ALTER TABLE user ADD Create_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
ALTER TABLE user MODIFY Create_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Show_view_priv;
|
||||
|
||||
#
|
||||
# Alter PROCEDUREs privileges (v5.0)
|
||||
#
|
||||
ALTER TABLE db ADD Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
ALTER TABLE db MODIFY Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
ALTER TABLE db ADD Alter_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
ALTER TABLE db MODIFY Alter_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
|
||||
ALTER TABLE user ADD Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
ALTER TABLE user MODIFY Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
ALTER TABLE user ADD Alter_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
ALTER TABLE user MODIFY Alter_routine_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Create_routine_priv;
|
||||
|
||||
ALTER TABLE db ADD Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
ALTER TABLE db MODIFY Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
ALTER TABLE db ADD Execute_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
ALTER TABLE db MODIFY Execute_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
|
||||
#
|
||||
# Assign create/alter routine privileges to people who have create privileges
|
||||
@ -398,8 +399,8 @@ ALTER TABLE user MODIFY max_user_connections int(11) DEFAULT '0' NOT NULL AFTER
|
||||
SET @hadCreateUserPriv:=0;
|
||||
SELECT @hadCreateUserPriv:=1 FROM user WHERE Create_user_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user ADD Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
ALTER TABLE user MODIFY Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
ALTER TABLE user ADD Create_user_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
ALTER TABLE user MODIFY Create_user_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Alter_routine_priv;
|
||||
UPDATE user LEFT JOIN db USING (Host,User) SET Create_user_priv='Y'
|
||||
WHERE @hadCreateUserPriv = 0 AND
|
||||
(user.Grant_priv = 'Y' OR db.Grant_priv = 'Y');
|
||||
@ -410,19 +411,19 @@ UPDATE user LEFT JOIN db USING (Host,User) SET Create_user_priv='Y'
|
||||
|
||||
ALTER TABLE procs_priv
|
||||
ENGINE=Aria,
|
||||
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
|
||||
|
||||
ALTER TABLE procs_priv
|
||||
MODIFY Proc_priv set('Execute','Alter Routine','Grant')
|
||||
COLLATE utf8_general_ci DEFAULT '' NOT NULL;
|
||||
COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL;
|
||||
|
||||
ALTER IGNORE TABLE procs_priv
|
||||
MODIFY Routine_name char(64)
|
||||
COLLATE utf8_general_ci DEFAULT '' NOT NULL;
|
||||
COLLATE utf8mb3_general_ci DEFAULT '' NOT NULL;
|
||||
|
||||
ALTER TABLE procs_priv
|
||||
ADD Routine_type enum('FUNCTION','PROCEDURE')
|
||||
COLLATE utf8_general_ci NOT NULL AFTER Routine_name;
|
||||
COLLATE utf8mb3_general_ci NOT NULL AFTER Routine_name;
|
||||
|
||||
ALTER TABLE procs_priv
|
||||
MODIFY Timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER Proc_priv;
|
||||
@ -479,20 +480,20 @@ ALTER TABLE proc MODIFY name char(64) DEFAULT '' NOT NULL,
|
||||
'SIMULTANEOUS_ASSIGNMENT',
|
||||
'TIME_ROUND_FRACTIONAL'
|
||||
) DEFAULT '' NOT NULL,
|
||||
DEFAULT CHARACTER SET utf8;
|
||||
DEFAULT CHARACTER SET utf8mb3;
|
||||
|
||||
# Correct the character set and collation
|
||||
# Reset some fields after the conversion
|
||||
ALTER TABLE proc CONVERT TO CHARACTER SET utf8,
|
||||
ALTER TABLE proc CONVERT TO CHARACTER SET utf8mb3,
|
||||
MODIFY db char(64) binary DEFAULT '' NOT NULL,
|
||||
MODIFY definer varchar(384) binary DEFAULT '' NOT NULL,
|
||||
MODIFY comment text binary NOT NULL;
|
||||
|
||||
ALTER TABLE proc ADD character_set_client
|
||||
char(32) collate utf8_bin DEFAULT NULL
|
||||
char(32) collate utf8mb3_bin DEFAULT NULL
|
||||
AFTER comment;
|
||||
ALTER TABLE proc MODIFY character_set_client
|
||||
char(32) collate utf8_bin DEFAULT NULL;
|
||||
char(32) collate utf8mb3_bin DEFAULT NULL;
|
||||
|
||||
ALTER TABLE proc MODIFY type enum('FUNCTION',
|
||||
'PROCEDURE',
|
||||
@ -514,10 +515,10 @@ UPDATE proc SET character_set_client = @@character_set_client
|
||||
WHERE character_set_client IS NULL;
|
||||
|
||||
ALTER TABLE proc ADD collation_connection
|
||||
char(64) collate utf8_bin DEFAULT NULL
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL
|
||||
AFTER character_set_client;
|
||||
ALTER TABLE proc MODIFY collation_connection
|
||||
char(64) collate utf8_bin DEFAULT NULL;
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL;
|
||||
|
||||
SELECT CASE WHEN COUNT(*) > 0 THEN
|
||||
CONCAT ("WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (", @@collation_connection, "). Please verify if necessary.")
|
||||
@ -529,10 +530,10 @@ UPDATE proc SET collation_connection = @@collation_connection
|
||||
WHERE collation_connection IS NULL;
|
||||
|
||||
ALTER TABLE proc ADD db_collation
|
||||
char(64) collate utf8_bin DEFAULT NULL
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL
|
||||
AFTER collation_connection;
|
||||
ALTER TABLE proc MODIFY db_collation
|
||||
char(64) collate utf8_bin DEFAULT NULL;
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL;
|
||||
|
||||
SELECT CASE WHEN COUNT(*) > 0 THEN
|
||||
CONCAT ("WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary.")
|
||||
@ -552,7 +553,7 @@ ALTER TABLE proc MODIFY body_utf8 longblob DEFAULT NULL;
|
||||
|
||||
# Change comment from char(64) to text
|
||||
ALTER TABLE proc MODIFY comment
|
||||
text collate utf8_bin NOT NULL;
|
||||
text collate utf8mb3_bin NOT NULL;
|
||||
|
||||
# MDEV-7773: Stored Aggregate Functions
|
||||
ALTER TABLE proc ADD aggregate enum('NONE', 'GROUP') DEFAULT 'NONE' NOT NULL
|
||||
@ -569,13 +570,13 @@ UPDATE proc SET Definer = 'mariadb.sys@localhost' WHERE Definer = 'root@localhos
|
||||
SET @hadEventPriv := 0;
|
||||
SELECT @hadEventPriv :=1 FROM user WHERE Event_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user ADD Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NOT NULL AFTER Create_user_priv;
|
||||
ALTER TABLE user MODIFY Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NOT NULL AFTER Create_user_priv;
|
||||
ALTER TABLE user ADD Event_priv enum('N','Y') character set utf8mb3 DEFAULT 'N' NOT NULL AFTER Create_user_priv;
|
||||
ALTER TABLE user MODIFY Event_priv enum('N','Y') character set utf8mb3 DEFAULT 'N' NOT NULL AFTER Create_user_priv;
|
||||
|
||||
UPDATE user SET Event_priv=Super_priv WHERE @hadEventPriv = 0;
|
||||
|
||||
ALTER TABLE db ADD Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db MODIFY Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db ADD Event_priv enum('N','Y') character set utf8mb3 DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db MODIFY Event_priv enum('N','Y') character set utf8mb3 DEFAULT 'N' NOT NULL;
|
||||
|
||||
#
|
||||
# EVENT table
|
||||
@ -621,7 +622,10 @@ ALTER TABLE event MODIFY sql_mode
|
||||
'SIMULTANEOUS_ASSIGNMENT',
|
||||
'TIME_ROUND_FRACTIONAL'
|
||||
) DEFAULT '' NOT NULL AFTER on_completion;
|
||||
ALTER TABLE event MODIFY name char(64) CHARACTER SET utf8 NOT NULL default '';
|
||||
ALTER TABLE event MODIFY name char(64) CHARACTER SET utf8mb3 NOT NULL default '';
|
||||
ALTER TABLE event MODIFY db CHAR(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '';
|
||||
ALTER TABLE event MODIFY comment CHAR(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT '';
|
||||
|
||||
|
||||
ALTER TABLE event ADD COLUMN originator INT UNSIGNED NOT NULL AFTER comment;
|
||||
ALTER TABLE event MODIFY COLUMN originator INT UNSIGNED NOT NULL;
|
||||
@ -632,28 +636,28 @@ ALTER TABLE event ADD COLUMN time_zone char(64) CHARACTER SET latin1
|
||||
NOT NULL DEFAULT 'SYSTEM' AFTER originator;
|
||||
|
||||
ALTER TABLE event ADD character_set_client
|
||||
char(32) collate utf8_bin DEFAULT NULL
|
||||
char(32) collate utf8mb3_bin DEFAULT NULL
|
||||
AFTER time_zone;
|
||||
ALTER TABLE event MODIFY character_set_client
|
||||
char(32) collate utf8_bin DEFAULT NULL;
|
||||
char(32) collate utf8mb3_bin DEFAULT NULL;
|
||||
|
||||
ALTER TABLE event ADD collation_connection
|
||||
char(64) collate utf8_bin DEFAULT NULL
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL
|
||||
AFTER character_set_client;
|
||||
ALTER TABLE event MODIFY collation_connection
|
||||
char(64) collate utf8_bin DEFAULT NULL;
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL;
|
||||
|
||||
ALTER TABLE event ADD db_collation
|
||||
char(64) collate utf8_bin DEFAULT NULL
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL
|
||||
AFTER collation_connection;
|
||||
ALTER TABLE event MODIFY db_collation
|
||||
char(64) collate utf8_bin DEFAULT NULL;
|
||||
char(64) collate utf8mb3_bin DEFAULT NULL;
|
||||
|
||||
ALTER TABLE event ADD body_utf8 longblob DEFAULT NULL
|
||||
AFTER db_collation;
|
||||
ALTER TABLE event MODIFY body_utf8 longblob DEFAULT NULL;
|
||||
|
||||
alter table event MODIFY definer varchar(384) collate utf8_bin NOT NULL DEFAULT '';
|
||||
alter table event MODIFY definer varchar(384) collate utf8mb3_bin NOT NULL DEFAULT '';
|
||||
|
||||
# Enable event scheduler if the event table was not up to date before.
|
||||
set global event_scheduler=original;
|
||||
@ -665,11 +669,11 @@ set global event_scheduler=original;
|
||||
SET @hadTriggerPriv := 0;
|
||||
SELECT @hadTriggerPriv :=1 FROM user WHERE Trigger_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user ADD Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Event_priv;
|
||||
ALTER TABLE user MODIFY Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Event_priv;
|
||||
ALTER TABLE user ADD Trigger_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Event_priv;
|
||||
ALTER TABLE user MODIFY Trigger_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Event_priv;
|
||||
|
||||
ALTER TABLE db ADD Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db MODIFY Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db ADD Trigger_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
ALTER TABLE db MODIFY Trigger_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL;
|
||||
|
||||
UPDATE user SET Trigger_priv=Super_priv WHERE @hadTriggerPriv = 0;
|
||||
|
||||
@ -680,8 +684,8 @@ UPDATE user SET Trigger_priv=Super_priv WHERE @hadTriggerPriv = 0;
|
||||
SET @hadCreateTablespacePriv := 0;
|
||||
SELECT @hadCreateTablespacePriv :=1 FROM user WHERE Create_tablespace_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user ADD Create_tablespace_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Trigger_priv;
|
||||
ALTER TABLE user MODIFY Create_tablespace_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER Trigger_priv;
|
||||
ALTER TABLE user ADD Create_tablespace_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Trigger_priv;
|
||||
ALTER TABLE user MODIFY Create_tablespace_priv enum('N','Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER Trigger_priv;
|
||||
|
||||
UPDATE user SET Create_tablespace_priv = Super_priv WHERE @hadCreateTablespacePriv = 0;
|
||||
|
||||
@ -689,16 +693,16 @@ UPDATE user SET Create_tablespace_priv = Super_priv WHERE @hadCreateTablespacePr
|
||||
# System versioning
|
||||
#
|
||||
|
||||
ALTER TABLE user change Truncate_versioning_priv Delete_history_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL DEFAULT 'N';
|
||||
ALTER TABLE db change Truncate_versioning_priv Delete_history_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL DEFAULT 'N';
|
||||
ALTER TABLE user change Truncate_versioning_priv Delete_history_priv enum('N','Y') COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N';
|
||||
ALTER TABLE db change Truncate_versioning_priv Delete_history_priv enum('N','Y') COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N';
|
||||
|
||||
SET @had_user_delete_history_priv := 0;
|
||||
SELECT @had_user_delete_history_priv :=1 FROM user WHERE Delete_history_priv IS NOT NULL;
|
||||
|
||||
ALTER TABLE user add Delete_history_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL DEFAULT 'N' after Create_tablespace_priv;
|
||||
ALTER TABLE user modify Delete_history_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL DEFAULT 'N';
|
||||
ALTER TABLE db add Delete_history_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL DEFAULT 'N' after Trigger_priv;
|
||||
ALTER TABLE db modify Delete_history_priv enum('N','Y') COLLATE utf8_general_ci NOT NULL DEFAULT 'N';
|
||||
ALTER TABLE user add Delete_history_priv enum('N','Y') COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N' after Create_tablespace_priv;
|
||||
ALTER TABLE user modify Delete_history_priv enum('N','Y') COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N';
|
||||
ALTER TABLE db add Delete_history_priv enum('N','Y') COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N' after Trigger_priv;
|
||||
ALTER TABLE db modify Delete_history_priv enum('N','Y') COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'N';
|
||||
|
||||
UPDATE user SET Delete_history_priv = Super_priv WHERE @had_user_delete_history_priv = 0;
|
||||
|
||||
@ -706,22 +710,22 @@ ALTER TABLE user ADD plugin char(64) CHARACTER SET latin1 DEFAULT '' NOT NULL AF
|
||||
ADD authentication_string TEXT NOT NULL AFTER plugin;
|
||||
ALTER TABLE user CHANGE auth_string authentication_string TEXT NOT NULL;
|
||||
|
||||
ALTER TABLE user ADD password_expired ENUM('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER authentication_string;
|
||||
ALTER TABLE user ADD password_expired ENUM('N', 'Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER authentication_string;
|
||||
ALTER TABLE user ADD password_last_changed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP after password_expired;
|
||||
ALTER TABLE user ADD password_lifetime smallint unsigned DEFAULT NULL after password_last_changed;
|
||||
ALTER TABLE user ADD account_locked enum('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL after password_lifetime;
|
||||
ALTER TABLE user ADD is_role enum('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER account_locked;
|
||||
ALTER TABLE user ADD account_locked enum('N', 'Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL after password_lifetime;
|
||||
ALTER TABLE user ADD is_role enum('N', 'Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER account_locked;
|
||||
ALTER TABLE user ADD default_role char(128) binary DEFAULT '' NOT NULL AFTER is_role;
|
||||
ALTER TABLE user ADD max_statement_time decimal(12,6) DEFAULT 0 NOT NULL AFTER default_role;
|
||||
|
||||
-- Somewhere above, we ran ALTER TABLE user .... CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin.
|
||||
-- we want password_expired column to have collation utf8_general_ci.
|
||||
-- Somewhere above, we ran ALTER TABLE user .... CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin.
|
||||
-- we want password_expired column to have collation utf8mb3_general_ci.
|
||||
-- Order columns correctly that were not ordered until MDEV-23201 (ff8ffef3e1915d7a9caa07d9461cd8d47c4baf98)
|
||||
|
||||
ALTER TABLE user MODIFY plugin char(64) CHARACTER SET latin1 DEFAULT '' NOT NULL AFTER max_user_connections,
|
||||
MODIFY authentication_string TEXT NOT NULL AFTER plugin,
|
||||
MODIFY password_expired ENUM('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER authentication_string,
|
||||
MODIFY is_role enum('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL AFTER password_expired,
|
||||
MODIFY password_expired ENUM('N', 'Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER authentication_string,
|
||||
MODIFY is_role enum('N', 'Y') COLLATE utf8mb3_general_ci DEFAULT 'N' NOT NULL AFTER password_expired,
|
||||
MODIFY default_role char(80) binary DEFAULT '' NOT NULL AFTER is_role,
|
||||
MODIFY max_statement_time decimal(12,6) DEFAULT 0 NOT NULL AFTER default_role,
|
||||
-- MDEV-24122 formerly mysql5.7 users may have the following columns password_last_changed,
|
||||
@ -731,7 +735,7 @@ ALTER TABLE user MODIFY plugin char(64) CHARACTER SET latin1 DEFAULT '' NOT NULL
|
||||
-- time until 10.4 added.
|
||||
MODIFY IF EXISTS password_last_changed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER max_statement_time,
|
||||
MODIFY IF EXISTS password_lifetime smallint unsigned DEFAULT NULL AFTER password_last_changed,
|
||||
MODIFY IF EXISTS account_locked enum('N', 'Y') CHARACTER SET utf8 DEFAULT 'N' NOT NULL after password_lifetime;
|
||||
MODIFY IF EXISTS account_locked enum('N', 'Y') CHARACTER SET utf8mb3 DEFAULT 'N' NOT NULL after password_lifetime;
|
||||
|
||||
-- Checking for any duplicate hostname and username combination are exists.
|
||||
-- If exits we will throw error.
|
||||
@ -769,13 +773,13 @@ alter table db modify User char(128) binary not null default
|
||||
alter table tables_priv modify User char(128) binary not null default '';
|
||||
alter table columns_priv modify User char(128) binary not null default '';
|
||||
alter table procs_priv modify User char(128) binary not null default '';
|
||||
alter table proc modify definer varchar(384) collate utf8_bin not null default '';
|
||||
alter table proxies_priv modify User char(128) COLLATE utf8_bin not null default '';
|
||||
alter table proxies_priv modify Proxied_user char(128) COLLATE utf8_bin not null default '';
|
||||
alter table proxies_priv modify Grantor varchar(384) COLLATE utf8_bin not null default '';
|
||||
alter table proc modify definer varchar(384) collate utf8mb3_bin not null default '';
|
||||
alter table proxies_priv modify User char(128) COLLATE utf8mb3_bin not null default '';
|
||||
alter table proxies_priv modify Proxied_user char(128) COLLATE utf8mb3_bin not null default '';
|
||||
alter table proxies_priv modify Grantor varchar(384) COLLATE utf8mb3_bin not null default '';
|
||||
alter table servers modify Username char(128) not null default '';
|
||||
alter table procs_priv modify Grantor varchar(384) COLLATE utf8_bin not null default '';
|
||||
alter table tables_priv modify Grantor varchar(384) COLLATE utf8_bin not null default '';
|
||||
alter table procs_priv modify Grantor varchar(384) COLLATE utf8mb3_bin not null default '';
|
||||
alter table tables_priv modify Grantor varchar(384) COLLATE utf8mb3_bin not null default '';
|
||||
|
||||
# Activate the new, possible modified privilege tables
|
||||
# This should not be needed, but gives us some extra testing that the above
|
||||
@ -792,7 +796,7 @@ ALTER TABLE help_topic MODIFY url TEXT NOT NULL;
|
||||
|
||||
DELIMITER //
|
||||
IF 'BASE TABLE' = (select table_type from information_schema.tables where table_schema=database() and table_name='user') THEN
|
||||
CREATE TABLE IF NOT EXISTS global_priv (Host char(255) binary DEFAULT '', User char(128) binary DEFAULT '', Priv JSON NOT NULL DEFAULT '{}' CHECK(JSON_VALID(Priv)), PRIMARY KEY Host (Host,User)) engine=Aria transactional=1 CHARACTER SET utf8 COLLATE utf8_bin comment='Users and global privileges'
|
||||
CREATE TABLE IF NOT EXISTS global_priv (Host char(255) binary DEFAULT '', User char(128) binary DEFAULT '', Priv JSON NOT NULL DEFAULT '{}' CHECK(JSON_VALID(Priv)), PRIMARY KEY Host (Host,User)) engine=Aria transactional=1 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin comment='Users and global privileges'
|
||||
SELECT Host, User, JSON_COMPACT(JSON_OBJECT('access',
|
||||
1*('Y'=Select_priv)+
|
||||
2*('Y'=Insert_priv)+
|
||||
|
Reference in New Issue
Block a user