⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trigger-grant.result

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 RESULT
字号:
DELETE FROM mysql.user WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.db WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.tables_priv WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.columns_priv WHERE User LIKE 'mysqltest_%';FLUSH PRIVILEGES;DROP DATABASE IF EXISTS mysqltest_db1;CREATE DATABASE mysqltest_db1;CREATE USER mysqltest_dfn@localhost;CREATE USER mysqltest_inv@localhost;GRANT SUPER ON *.* TO mysqltest_dfn@localhost;GRANT CREATE ON mysqltest_db1.* TO mysqltest_dfn@localhost;---> connection: wl2818_definer_conCREATE TABLE t1(num_value INT);CREATE TABLE t2(user_str TEXT);CREATE TRIGGER trg1 AFTER INSERT ON t1FOR EACH ROWINSERT INTO t2 VALUES(CURRENT_USER());---> connection: defaultGRANT ALL PRIVILEGES ON mysqltest_db1.t1 TO mysqltest_dfn@localhost;GRANT ALL PRIVILEGES ON mysqltest_db1.t2 TO mysqltest_dfn@localhost;GRANT ALL PRIVILEGES ON mysqltest_db1.t1TO 'mysqltest_inv'@localhost;GRANT SELECT ON mysqltest_db1.t2TO 'mysqltest_inv'@localhost;---> connection: wl2818_definer_conuse mysqltest_db1;INSERT INTO t1 VALUES(1);SELECT * FROM t1;num_value1SELECT * FROM t2;user_strmysqltest_dfn@localhost---> connection: wl2818_invoker_conuse mysqltest_db1;INSERT INTO t1 VALUES(2);SELECT * FROM t1;num_value12SELECT * FROM t2;user_strmysqltest_dfn@localhostmysqltest_dfn@localhost---> connection: defaultuse mysqltest_db1;REVOKE INSERT ON mysqltest_db1.t2 FROM mysqltest_dfn@localhost;---> connection: wl2818_invoker_conuse mysqltest_db1;INSERT INTO t1 VALUES(3);ERROR 42000: INSERT command denied to user 'mysqltest_dfn'@'localhost' for table 't2'SELECT * FROM t1;num_value123SELECT * FROM t2;user_strmysqltest_dfn@localhostmysqltest_dfn@localhost---> connection: wl2818_definer_conuse mysqltest_db1;DROP TRIGGER trg1;CREATE DEFINER='mysqltest_inv'@'localhost'  TRIGGER trg1 BEFORE INSERT ON t1FOR EACH ROWSET @new_sum = 0;CREATE DEFINER='mysqltest_nonexs'@'localhost'  TRIGGER trg2 AFTER INSERT ON t1FOR EACH ROWSET @new_sum = 0;Warnings:Note	1449	There is no 'mysqltest_nonexs'@'localhost' registeredINSERT INTO t1 VALUES(6);ERROR 42000: Access denied; you need the SUPER privilege for this operationSHOW TRIGGERS;Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definertrg1	INSERT	t1	SET @new_sum = 0	BEFORE	NULL		mysqltest_inv@localhosttrg2	INSERT	t1	SET @new_sum = 0	AFTER	NULL		mysqltest_nonexs@localhostDROP TRIGGER trg1;DROP TRIGGER trg2;CREATE TRIGGER trg1 BEFORE INSERT ON t1FOR EACH ROWSET @a = 1;CREATE TRIGGER trg2 AFTER INSERT ON t1FOR EACH ROWSET @a = 2;CREATE TRIGGER trg3 BEFORE UPDATE ON t1FOR EACH ROWSET @a = 3;CREATE TRIGGER trg4 AFTER UPDATE ON t1FOR EACH ROWSET @a = 4;CREATE TRIGGER trg5 BEFORE DELETE ON t1FOR EACH ROWSET @a = 5;SELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;trigger_name	definertrg1	trg2	@trg3	@abc@def@@trg4	@hostnametrg5	@abcdef@@@hostnameWarnings:Warning	1454	No definer attribute for trigger 'mysqltest_db1'.'trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_ORDER	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	CREATED	SQL_MODE	DEFINERNULL	mysqltest_db1	trg1	INSERT	NULL	mysqltest_db1	t1	0	NULL	SET @a = 1	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		NULL	mysqltest_db1	trg2	INSERT	NULL	mysqltest_db1	t1	0	NULL	SET @a = 2	ROW	AFTER	NULL	NULL	OLD	NEW	NULL		@NULL	mysqltest_db1	trg3	UPDATE	NULL	mysqltest_db1	t1	0	NULL	SET @a = 3	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		@abc@def@@NULL	mysqltest_db1	trg4	UPDATE	NULL	mysqltest_db1	t1	0	NULL	SET @a = 4	ROW	AFTER	NULL	NULL	OLD	NEW	NULL		@hostnameNULL	mysqltest_db1	trg5	DELETE	NULL	mysqltest_db1	t1	0	NULL	SET @a = 5	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		@abcdef@@@hostname---> connection: defaultDROP USER mysqltest_dfn@localhost;DROP USER mysqltest_inv@localhost;DROP DATABASE mysqltest_db1;Warnings:Warning	1454	No definer attribute for trigger 'mysqltest_db1'.'trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.DELETE FROM mysql.user WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.db WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.tables_priv WHERE User LIKE 'mysqltest_%';DELETE FROM mysql.columns_priv WHERE User LIKE 'mysqltest_%';FLUSH PRIVILEGES;DROP DATABASE IF EXISTS mysqltest_db1;CREATE DATABASE mysqltest_db1;use mysqltest_db1;CREATE TABLE t1(col CHAR(20));CREATE TABLE t2(col CHAR(20));CREATE TABLE t3(col CHAR(20));CREATE TABLE t4(col CHAR(20));CREATE USER mysqltest_u1@localhost;REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_u1@localhost;GRANT SUPER ON *.* TO mysqltest_u1@localhost;GRANT SELECT ON mysqltest_db1.t1 TO mysqltest_u1@localhost;SET @mysqltest_var = NULL;---> connection: defaultuse mysqltest_db1;REVOKE SELECT ON mysqltest_db1.t1 FROM mysqltest_u1@localhost;GRANT DELETE ON mysqltest_db1.* TO mysqltest_u1@localhost;SHOW GRANTS FOR mysqltest_u1@localhost;Grants for mysqltest_u1@localhostGRANT SUPER ON *.* TO 'mysqltest_u1'@'localhost'GRANT DELETE ON `mysqltest_db1`.* TO 'mysqltest_u1'@'localhost'---> connection: bug15166_u1_conuse mysqltest_db1;CREATE TRIGGER t1_trg_after_delete AFTER DELETE ON t1FOR EACH ROWSET @mysqltest_var = 'Hello, world!';---> connection: defaultuse mysqltest_db1;GRANT UPDATE ON mysqltest_db1.t1 TO mysqltest_u1@localhost;GRANT UPDATE ON mysqltest_db1.t2 TO mysqltest_u1@localhost;GRANT UPDATE(col) ON mysqltest_db1.t3 TO mysqltest_u1@localhost;GRANT UPDATE(col) ON mysqltest_db1.t4 TO mysqltest_u1@localhost;---> connection: bug15166_u1_conuse mysqltest_db1;CREATE TRIGGER t1_trg_err_1 BEFORE INSERT ON t1FOR EACH ROWSET @mysqltest_var = NEW.col;DROP TRIGGER t1_trg_err_1;CREATE TRIGGER t1_trg_err_2 BEFORE DELETE ON t1FOR EACH ROWSET @mysqltest_var = OLD.col;DROP TRIGGER t1_trg_err_2;CREATE TRIGGER t2_trg_before_insert BEFORE INSERT ON t2FOR EACH ROWSET NEW.col = 't2_trg_before_insert';CREATE TRIGGER t3_trg_err_1 BEFORE INSERT ON t3FOR EACH ROWSET @mysqltest_var = NEW.col;DROP TRIGGER t3_trg_err_1;CREATE TRIGGER t3_trg_err_2 BEFORE DELETE ON t3FOR EACH ROWSET @mysqltest_var = OLD.col;DROP TRIGGER t3_trg_err_2;CREATE TRIGGER t4_trg_before_insert BEFORE INSERT ON t4FOR EACH ROWSET NEW.col = 't4_trg_before_insert';---> connection: defaultuse mysqltest_db1;REVOKE UPDATE ON mysqltest_db1.t1 FROM mysqltest_u1@localhost;REVOKE UPDATE ON mysqltest_db1.t2 FROM mysqltest_u1@localhost;GRANT SELECT ON mysqltest_db1.t1 TO mysqltest_u1@localhost;GRANT SELECT ON mysqltest_db1.t2 TO mysqltest_u1@localhost;REVOKE UPDATE(col) ON mysqltest_db1.t3 FROM mysqltest_u1@localhost;REVOKE UPDATE(col) ON mysqltest_db1.t4 FROM mysqltest_u1@localhost;GRANT SELECT(col) on mysqltest_db1.t3 TO mysqltest_u1@localhost;GRANT SELECT(col) on mysqltest_db1.t4 TO mysqltest_u1@localhost;---> connection: bug15166_u1_conuse mysqltest_db1;CREATE TRIGGER t1_trg_after_insert AFTER INSERT ON t1FOR EACH ROWSET @mysqltest_var = NEW.col;CREATE TRIGGER t1_trg_after_update AFTER UPDATE ON t1FOR EACH ROWSET @mysqltest_var = OLD.col;CREATE TRIGGER t2_trg_err_1 BEFORE UPDATE ON t2FOR EACH ROWSET NEW.col = 't2_trg_err_1';DROP TRIGGER t2_trg_err_1;CREATE TRIGGER t2_trg_err_2 BEFORE UPDATE ON t2FOR EACH ROWSET NEW.col = CONCAT(OLD.col, '(updated)');DROP TRIGGER t2_trg_err_2;CREATE TRIGGER t3_trg_after_insert AFTER INSERT ON t3FOR EACH ROWSET @mysqltest_var = NEW.col;CREATE TRIGGER t3_trg_after_update AFTER UPDATE ON t3FOR EACH ROWSET @mysqltest_var = OLD.col;CREATE TRIGGER t4_trg_err_1 BEFORE UPDATE ON t4FOR EACH ROWSET NEW.col = 't4_trg_err_1';DROP TRIGGER t4_trg_err_1;CREATE TRIGGER t4_trg_err_2 BEFORE UPDATE ON t4FOR EACH ROWSET NEW.col = CONCAT(OLD.col, '(updated)');DROP TRIGGER t4_trg_err_2;---> connection: defaultuse mysqltest_db1;REVOKE SELECT ON mysqltest_db1.t1 FROM mysqltest_u1@localhost;REVOKE SELECT ON mysqltest_db1.t2 FROM mysqltest_u1@localhost;GRANT UPDATE ON mysqltest_db1.t1 TO mysqltest_u1@localhost;GRANT UPDATE ON mysqltest_db1.t2 TO mysqltest_u1@localhost;REVOKE SELECT(col) ON mysqltest_db1.t3 FROM mysqltest_u1@localhost;REVOKE SELECT(col) ON mysqltest_db1.t4 FROM mysqltest_u1@localhost;GRANT UPDATE(col) ON mysqltest_db1.t3 TO mysqltest_u1@localhost;GRANT UPDATE(col) ON mysqltest_db1.t4 TO mysqltest_u1@localhost;INSERT INTO t1 VALUES('line1');ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for column 'col' in table 't1'SELECT * FROM t1;colline1SELECT @mysqltest_var;@mysqltest_varNULLINSERT INTO t2 VALUES('line2');SELECT * FROM t2;colt2_trg_before_insertINSERT INTO t3 VALUES('t3_line1');ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for column 'col' in table 't3'SELECT * FROM t3;colt3_line1SELECT @mysqltest_var;@mysqltest_varNULLINSERT INTO t4 VALUES('t4_line2');SELECT * FROM t4;colt4_trg_before_insert---> connection: defaultuse mysqltest_db1;REVOKE UPDATE ON mysqltest_db1.t1 FROM mysqltest_u1@localhost;REVOKE UPDATE ON mysqltest_db1.t2 FROM mysqltest_u1@localhost;GRANT SELECT ON mysqltest_db1.t1 TO mysqltest_u1@localhost;GRANT SELECT ON mysqltest_db1.t2 TO mysqltest_u1@localhost;REVOKE UPDATE(col) ON mysqltest_db1.t3 FROM mysqltest_u1@localhost;REVOKE UPDATE(col) ON mysqltest_db1.t4 FROM mysqltest_u1@localhost;GRANT SELECT(col) ON mysqltest_db1.t3 TO mysqltest_u1@localhost;GRANT SELECT(col) ON mysqltest_db1.t4 TO mysqltest_u1@localhost;INSERT INTO t1 VALUES('line3');SELECT * FROM t1;colline1line3SELECT @mysqltest_var;@mysqltest_varline3INSERT INTO t2 VALUES('line4');ERROR 42000: UPDATE command denied to user 'mysqltest_u1'@'localhost' for column 'col' in table 't2'SELECT * FROM t2;colt2_trg_before_insertINSERT INTO t3 VALUES('t3_line2');SELECT * FROM t3;colt3_line1t3_line2SELECT @mysqltest_var;@mysqltest_vart3_line2INSERT INTO t4 VALUES('t4_line2');ERROR 42000: UPDATE command denied to user 'mysqltest_u1'@'localhost' for column 'col' in table 't4'SELECT * FROM t4;colt4_trg_before_insertDELETE FROM t1;SELECT @mysqltest_var;@mysqltest_varHello, world!DROP USER mysqltest_u1@localhost;DROP DATABASE mysqltest_db1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -