Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/server/mysql/mysql-test/t/ |
Upload File : |
-- source include/have_partition.inc # Grant tests not performed with embedded server -- source include/not_embedded.inc --disable_warnings drop schema if exists mysqltest_1; --enable_warnings # # Bug #17139: ALTER TABLE ... DROP PARTITION should require DROP privilege # create schema mysqltest_1; use mysqltest_1; create table t1 (a int) partition by list (a) (partition p1 values in (1), partition p2 values in (2), partition p3 values in (3)); insert into t1 values (1),(2); # We don't have DROP USER IF EXISTS. Use this workaround to # cleanup possible grants for mysqltest_1 left by previous tests # and ensure consistent results of SHOW GRANTS command below. --disable_warnings set @orig_sql_mode= @@sql_mode; set sql_mode= (select replace(@@sql_mode,'NO_AUTO_CREATE_USER','')); grant usage on *.* to mysqltest_1@localhost; set sql_mode= @orig_sql_mode; revoke all privileges on *.* from mysqltest_1@localhost; --enable_warnings grant select,alter on mysqltest_1.* to mysqltest_1@localhost; connect (conn1,localhost,mysqltest_1,,mysqltest_1); show grants for current_user; alter table t1 add b int; --error ER_TABLEACCESS_DENIED_ERROR alter table t1 drop partition p2; disconnect conn1; connection default; grant drop on mysqltest_1.* to mysqltest_1@localhost; connect (conn2,localhost,mysqltest_1,,mysqltest_1); alter table t1 drop partition p2; disconnect conn2; connection default; revoke alter on mysqltest_1.* from mysqltest_1@localhost; connect (conn3,localhost,mysqltest_1,,mysqltest_1); --error ER_TABLEACCESS_DENIED_ERROR alter table t1 drop partition p3; disconnect conn3; connection default; revoke select,alter,drop on mysqltest_1.* from mysqltest_1@localhost; drop table t1; # # Bug #23675 Partitions: possible security breach via alter # create table t1 (s1 int); insert into t1 values (1); grant alter on mysqltest_1.* to mysqltest_1@localhost; connect (conn4,localhost,mysqltest_1,,mysqltest_1); connection conn4; --error ER_NO_PARTITION_FOR_GIVEN_VALUE alter table t1 partition by list (s1) (partition p1 values in (2)); connection default; grant select, alter on mysqltest_1.* to mysqltest_1@localhost; disconnect conn4; connect (conn5,localhost,mysqltest_1,,mysqltest_1); --error ER_NO_PARTITION_FOR_GIVEN_VALUE alter table t1 partition by list (s1) (partition p1 values in (2)); disconnect conn5; connection default; drop table t1; drop user mysqltest_1@localhost; drop schema mysqltest_1; --echo End of 5.1 tests