mirror of
https://github.com/MariaDB/server.git
synced 2026-01-26 13:29:07 +01:00
57 lines
1.9 KiB
Text
57 lines
1.9 KiB
Text
# Test clone error conditions with incompatible features
|
|
--source include/not_embedded.inc
|
|
let $CLONE_DATADIR = $MYSQL_TMP_DIR/data_new;
|
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
|
|
|
--replace_result $MARIADB_CLONE_SO CLONE_PLUGIN
|
|
--eval INSTALL PLUGIN clone SONAME '$MARIADB_CLONE_SO'
|
|
|
|
CREATE DATABASE testdb_clone;
|
|
CREATE USER 'user_clone'@'localhost' IDENTIFIED BY '123';
|
|
GRANT ALL ON testdb_clone.* TO 'user_clone'@'localhost';
|
|
GRANT SELECT ON performance_schema.* to 'user_clone'@'localhost';
|
|
SHOW GRANTS FOR 'user_clone'@'localhost';
|
|
|
|
--echo # Connection without NECESSARY privilege
|
|
--connect (con1,'localhost','user_clone','123',)
|
|
SELECT user();
|
|
USE testdb_clone;
|
|
CREATE TABLE t1(col1 INT PRIMARY KEY, col2 char(64));
|
|
|
|
--let $clone_err = ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
--replace_result $CLONE_DATADIR CLONE_DATADIR
|
|
--error $clone_err
|
|
--eval CLONE LOCAL DATA DIRECTORY = '$CLONE_DATADIR'
|
|
|
|
connection default;
|
|
SHOW GRANTS FOR 'user_clone'@'localhost';
|
|
--echo # Grant backup privilege to clone user
|
|
GRANT RELOAD on *.* to 'user_clone'@'localhost';
|
|
FLUSH PRIVILEGES;
|
|
SHOW GRANTS FOR 'user_clone'@'localhost';
|
|
disconnect con1;
|
|
|
|
--echo # Without LOCK_TBL privilege
|
|
--connect (con1,'localhost','user_clone','123',)
|
|
--let $clone_err = ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
--replace_result $CLONE_DATADIR CLONE_DATADIR
|
|
--error $clone_err
|
|
--eval CLONE LOCAL DATA DIRECTORY = '$CLONE_DATADIR'
|
|
|
|
connection default;
|
|
disconnect con1;
|
|
GRANT LOCK TABLES ON *.* TO 'user_clone'@'localhost';
|
|
FLUSH PRIVILEGES;
|
|
SHOW GRANTS FOR 'user_clone'@'localhost';
|
|
|
|
--echo # Trying clone again with all privileges
|
|
--connect (con1,'localhost','user_clone','123',)
|
|
let $clone_err = 0;
|
|
--replace_result $CLONE_DATADIR CLONE_DATADIR
|
|
--eval CLONE LOCAL DATA DIRECTORY = '$CLONE_DATADIR'
|
|
connection default;
|
|
disconnect con1;
|
|
DROP SCHEMA testdb_clone;
|
|
DROP USER 'user_clone'@'localhost';
|
|
--rmdir $CLONE_DATADIR
|
|
UNINSTALL PLUGIN clone;
|