#---- setup create database dbtest; create user 'user1'@'localhost' identified by 'upass1'; create user 'user2'@'localhost' identified by 'upass2'; grant create view, drop, select on dbtest.* to user1; grant create view, drop, select on dbtest.* to user2; connect (con_user1, localhost, user1, upass1, dbtest); connect (con_user2, localhost, user2, upass2, dbtest); connect (root, localhost, root,,); create table dbtest.t1 (a int, b int); insert into dbtest.t1 values (1,2); insert into dbtest.t1 values (3,4); select * from dbtest.t1; #--- creating the view as the first user connection con_user1; show grants; select * from t1; create view v1 as select a from t1; select * from v1; alter view v1 as select b from t1; select * from v1; #---changing to the second user and trying to alter connection con_user2; show grants; select * from t1; select * from v1; #--- here is where the error is and the alter fails --error 1227 alter view v1 as select * from t1; select * from v1; #--- and the drop succeeds drop view v1; connection root; drop user 'user1'@'localhost'; drop user 'user2'@'localhost'; drop table dbtest.t1; drop database dbtest;