mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			388 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			388 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| SET global secure_auth=0;
 | |
| drop table if exists t1,t2;
 | |
| connect  con1,localhost,root,,mysql;
 | |
| show tables;
 | |
| Tables_in_mysql
 | |
| column_stats
 | |
| columns_priv
 | |
| db
 | |
| event
 | |
| func
 | |
| general_log
 | |
| gtid_slave_pos
 | |
| help_category
 | |
| help_keyword
 | |
| help_relation
 | |
| help_topic
 | |
| host
 | |
| index_stats
 | |
| innodb_index_stats
 | |
| innodb_table_stats
 | |
| plugin
 | |
| proc
 | |
| procs_priv
 | |
| proxies_priv
 | |
| roles_mapping
 | |
| servers
 | |
| slow_log
 | |
| table_stats
 | |
| tables_priv
 | |
| time_zone
 | |
| time_zone_leap_second
 | |
| time_zone_name
 | |
| time_zone_transition
 | |
| time_zone_transition_type
 | |
| user
 | |
| connect  con2,localhost,root,,test;
 | |
| show tables;
 | |
| Tables_in_test
 | |
| connect(localhost,root,z,test2,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,root,z,test2;
 | |
| ERROR 28000: Access denied for user 'root'@'localhost' (using password: YES)
 | |
| connect(localhost,root,z,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,root,z,;
 | |
| ERROR 28000: Access denied for user 'root'@'localhost' (using password: YES)
 | |
| connection default;
 | |
| disconnect con1;
 | |
| disconnect con2;
 | |
| grant ALL on *.* to test@localhost identified by "gambling";
 | |
| grant ALL on *.* to test@127.0.0.1 identified by "gambling";
 | |
| connect  con3,localhost,test,gambling,mysql;
 | |
| show tables;
 | |
| Tables_in_mysql
 | |
| column_stats
 | |
| columns_priv
 | |
| db
 | |
| event
 | |
| func
 | |
| general_log
 | |
| gtid_slave_pos
 | |
| help_category
 | |
| help_keyword
 | |
| help_relation
 | |
| help_topic
 | |
| host
 | |
| index_stats
 | |
| innodb_index_stats
 | |
| innodb_table_stats
 | |
| plugin
 | |
| proc
 | |
| procs_priv
 | |
| proxies_priv
 | |
| roles_mapping
 | |
| servers
 | |
| slow_log
 | |
| table_stats
 | |
| tables_priv
 | |
| time_zone
 | |
| time_zone_leap_second
 | |
| time_zone_name
 | |
| time_zone_transition
 | |
| time_zone_transition_type
 | |
| user
 | |
| connect  con4,localhost,test,gambling,test;
 | |
| show tables;
 | |
| Tables_in_test
 | |
| connection default;
 | |
| disconnect con3;
 | |
| disconnect con4;
 | |
| connect(localhost,test,,test2,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,,test2;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
 | |
| connect(localhost,test,,"",MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,,'""';
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
 | |
| connect(localhost,test,zorro,test2,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,zorro,test2;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
 | |
| connect(localhost,test,zorro,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,zorro,;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
 | |
| update mysql.user set password=old_password("gambling2") where user=_binary"test";
 | |
| flush privileges;
 | |
| connect  con10,localhost,test,gambling2,;
 | |
| connect  con5,localhost,test,gambling2,mysql;
 | |
| connection con5;
 | |
| set password="";
 | |
| set password='gambling3';
 | |
| ERROR HY000: Password hash should be a 41-digit hexadecimal number
 | |
| set password=old_password('gambling3');
 | |
| show tables;
 | |
| Tables_in_mysql
 | |
| column_stats
 | |
| columns_priv
 | |
| db
 | |
| event
 | |
| func
 | |
| general_log
 | |
| gtid_slave_pos
 | |
| help_category
 | |
| help_keyword
 | |
| help_relation
 | |
| help_topic
 | |
| host
 | |
| index_stats
 | |
| innodb_index_stats
 | |
| innodb_table_stats
 | |
| plugin
 | |
| proc
 | |
| procs_priv
 | |
| proxies_priv
 | |
| roles_mapping
 | |
| servers
 | |
| slow_log
 | |
| table_stats
 | |
| tables_priv
 | |
| time_zone
 | |
| time_zone_leap_second
 | |
| time_zone_name
 | |
| time_zone_transition
 | |
| time_zone_transition_type
 | |
| user
 | |
| connect  con6,localhost,test,gambling3,test;
 | |
| show tables;
 | |
| Tables_in_test
 | |
| connection default;
 | |
| disconnect con10;
 | |
| disconnect con5;
 | |
| disconnect con6;
 | |
| connect(localhost,test,,test2,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,,test2;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
 | |
| connect(localhost,test,,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,,;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: NO)
 | |
| connect(localhost,test,zorro,test2,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,zorro,test2;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
 | |
| connect(localhost,test,zorro,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect  fail_con,localhost,test,zorro,;
 | |
| ERROR 28000: Access denied for user 'test'@'localhost' (using password: YES)
 | |
| delete from mysql.user where user=_binary"test";
 | |
| flush privileges;
 | |
| connect  con7,localhost,root,,test;
 | |
| connection con7;
 | |
| create table t1 (id integer not null auto_increment primary key);
 | |
| create temporary table t2(id integer not null auto_increment primary key);
 | |
| set @id := 1;
 | |
| delete from t1 where id like @id;
 | |
| connection default;
 | |
| disconnect con7;
 | |
| drop table t1;
 | |
| # ------------------------------------------------------------------
 | |
| # -- End of 4.1 tests
 | |
| # ------------------------------------------------------------------
 | |
| 
 | |
| # -- Bug#33507: Event scheduler creates more threads than max_connections
 | |
| # -- which results in user lockout.
 | |
| 
 | |
| CREATE USER mysqltest_u1@localhost;
 | |
| GRANT USAGE ON *.* TO mysqltest_u1@localhost;
 | |
| 
 | |
| SET GLOBAL max_connections = 3;
 | |
| SET GLOBAL event_scheduler = ON;
 | |
| 
 | |
| # -- Waiting for Event Scheduler to start...
 | |
| 
 | |
| # -- Disconnecting default connection...
 | |
| disconnect default;
 | |
| 
 | |
| # -- Check that we allow exactly three user connections, no matter how
 | |
| # -- many threads are running.
 | |
| 
 | |
| # -- Connecting (1)...
 | |
| # -- Establishing connection 'con_1' (user: mysqltest_u1)...
 | |
| # -- Connection 'con_1' has been established.
 | |
| 
 | |
| # -- Connecting (2)...
 | |
| # -- Establishing connection 'con_2' (user: mysqltest_u1)...
 | |
| # -- Connection 'con_2' has been established.
 | |
| 
 | |
| # -- Connecting (3)...
 | |
| # -- Establishing connection 'con_3' (user: mysqltest_u1)...
 | |
| # -- Connection 'con_3' has been established.
 | |
| 
 | |
| # -- Connecting (4) [should fail]...
 | |
| # -- Establishing connection 'con_4' (user: mysqltest_u1)...
 | |
| # -- Error: can not establish connection 'con_4'.
 | |
| 
 | |
| # -- Check that we allow one extra SUPER-user connection.
 | |
| 
 | |
| # -- Connecting super (1)...
 | |
| # -- Establishing connection 'con_super_1' (user: root)...
 | |
| # -- Connection 'con_super_1' has been established.
 | |
| 
 | |
| # -- Connecting super (2) [should fail]...
 | |
| # -- Establishing connection 'con_super_2' (user: root)...
 | |
| # -- Error: can not establish connection 'con_super_2'.
 | |
| 
 | |
| # -- Ensure that we have Event Scheduler thread, 3 ordinary user
 | |
| # -- connections and one extra super-user connection.
 | |
| SELECT user FROM information_schema.processlist ORDER BY id;
 | |
| user
 | |
| event_scheduler
 | |
| mysqltest_u1
 | |
| mysqltest_u1
 | |
| mysqltest_u1
 | |
| root
 | |
| 
 | |
| # -- Resetting variables...
 | |
| SET GLOBAL max_connections = 151;
 | |
| 
 | |
| # -- Stopping Event Scheduler...
 | |
| SET GLOBAL event_scheduler = OFF;
 | |
| 
 | |
| # -- Waiting for Event Scheduler to stop...
 | |
| 
 | |
| # -- That's it. Closing connections...
 | |
| disconnect con_1;
 | |
| disconnect con_2;
 | |
| disconnect con_3;
 | |
| disconnect con_super_1;
 | |
| 
 | |
| # -- Restoring default connection...
 | |
| connect  default,localhost,root,,test;
 | |
| 
 | |
| # -- Waiting for connections to close...
 | |
| 
 | |
| DROP USER mysqltest_u1@localhost;
 | |
| 
 | |
| # -- End of Bug#33507.
 | |
| 
 | |
| # -- Bug#35074: max_used_connections is not correct.
 | |
| 
 | |
| FLUSH STATUS;
 | |
| 
 | |
| SHOW STATUS LIKE 'max_used_connections';
 | |
| Variable_name	Value
 | |
| Max_used_connections	1
 | |
| 
 | |
| # -- Starting Event Scheduler...
 | |
| SET GLOBAL event_scheduler = ON;
 | |
| # -- Waiting for Event Scheduler to start...
 | |
| 
 | |
| # -- Opening a new connection to check max_used_connections...
 | |
| connect  con_1,localhost,root;
 | |
| 
 | |
| # -- Check that max_used_connections hasn't changed.
 | |
| SHOW STATUS LIKE 'max_used_connections';
 | |
| Variable_name	Value
 | |
| Max_used_connections	2
 | |
| 
 | |
| # -- Closing new connection...
 | |
| disconnect con_1;
 | |
| connection default;
 | |
| 
 | |
| # -- Stopping Event Scheduler...
 | |
| SET GLOBAL event_scheduler = OFF;
 | |
| # -- Waiting for Event Scheduler to stop...
 | |
| 
 | |
| # -- End of Bug#35074.
 | |
| 
 | |
| connect extracon,127.0.0.1,root,,test,$MASTER_EXTRA_PORT,;
 | |
| connection extracon;
 | |
| SELECT 'Connection on extra port ok';
 | |
| Connection on extra port ok
 | |
| Connection on extra port ok
 | |
| connect extracon2,127.0.0.1,root,,test,$MASTER_EXTRA_PORT,;
 | |
| connection extracon2;
 | |
| SELECT 'Connection on extra port 2 ok';
 | |
| Connection on extra port 2 ok
 | |
| Connection on extra port 2 ok
 | |
| # -- Success: more than --extra-max-connections + 1 normal connections not possible
 | |
| #
 | |
| # -- Bug#49752: 2469.126.2 unintentionally breaks authentication
 | |
| #               against MySQL 5.1 server
 | |
| #
 | |
| GRANT ALL ON test.* TO 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789'@'localhost' IDENTIFIED BY 'test123';
 | |
| FLUSH PRIVILEGES;
 | |
| connect  con1,localhost,O1234567890123456789012345678901234567890123456789012345678901234567890123456789x,test123,test;
 | |
| disconnect con1;
 | |
| connection default;
 | |
| DROP USER 'O1234567890123456789012345678901234567890123456789012345678901234567890123456789'@'localhost';
 | |
| FLUSH PRIVILEGES;
 | |
| #
 | |
| # -- End of Bug#49752
 | |
| #
 | |
| # ------------------------------------------------------------------
 | |
| # -- End of 5.1 tests
 | |
| # ------------------------------------------------------------------
 | |
| disconnect extracon;
 | |
| disconnect extracon2;
 | |
| connection default;
 | |
| CREATE USER mysqltest_up1 IDENTIFIED VIA mysql_native_password using '*E8D46CE25265E545D225A8A6F1BAF642FEBEE5CB';
 | |
| CREATE USER mysqltest_up2 IDENTIFIED VIA mysql_old_password using '09301740536db389';
 | |
| connect(localhost,mysqltest_up1,foo,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect pcon1,localhost,mysqltest_up1,foo,,$MASTER_MYPORT,;
 | |
| ERROR 28000: Access denied for user 'mysqltest_up1'@'localhost' (using password: YES)
 | |
| connect pcon2,localhost,mysqltest_up1,bar,,$MASTER_MYPORT,;
 | |
| connection pcon2;
 | |
| select user(), current_user();
 | |
| user()	current_user()
 | |
| mysqltest_up1@localhost	mysqltest_up1@%
 | |
| disconnect pcon2;
 | |
| connect(localhost,mysqltest_up2,newpw,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect pcon3,localhost,mysqltest_up2,newpw,,$MASTER_MYPORT,;
 | |
| ERROR 28000: Access denied for user 'mysqltest_up2'@'localhost' (using password: YES)
 | |
| connect pcon4,localhost,mysqltest_up2,oldpw,,$MASTER_MYPORT,;
 | |
| connection pcon4;
 | |
| select user(), current_user();
 | |
| user()	current_user()
 | |
| mysqltest_up2@localhost	mysqltest_up2@%
 | |
| disconnect pcon4;
 | |
| connect(localhost,mysqltest_nouser,newpw,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect pcon5,localhost,mysqltest_nouser,newpw,,$MASTER_MYPORT,;
 | |
| ERROR 28000: Access denied for user 'mysqltest_nouser'@'localhost' (using password: YES)
 | |
| connect(localhost,mysqltest_nouser,,test,MASTER_PORT,MASTER_SOCKET);
 | |
| connect pcon5,localhost,mysqltest_nouser,,,$MASTER_MYPORT,;
 | |
| ERROR 28000: Access denied for user 'mysqltest_nouser'@'localhost' (using password: NO)
 | |
| connection default;
 | |
| update mysql.user set plugin='mysql_native_password' where user = 'mysqltest_up1';
 | |
| update mysql.user set plugin='mysql_old_password' where user = 'mysqltest_up2';
 | |
| select user, password, plugin, authentication_string from mysql.user
 | |
| where user like 'mysqltest_up_';
 | |
| user	password	plugin	authentication_string
 | |
| mysqltest_up1	*E8D46CE25265E545D225A8A6F1BAF642FEBEE5CB	mysql_native_password	
 | |
| mysqltest_up2	09301740536db389	mysql_old_password	
 | |
| flush privileges;
 | |
| connect pcon6,localhost,mysqltest_up1,bar,,$MASTER_MYPORT,;
 | |
| connection pcon6;
 | |
| select user(), current_user();
 | |
| user()	current_user()
 | |
| mysqltest_up1@localhost	mysqltest_up1@%
 | |
| disconnect pcon6;
 | |
| connect pcon7,localhost,mysqltest_up2,oldpw,,$MASTER_MYPORT,;
 | |
| connection pcon7;
 | |
| select user(), current_user();
 | |
| user()	current_user()
 | |
| mysqltest_up2@localhost	mysqltest_up2@%
 | |
| disconnect pcon7;
 | |
| connection default;
 | |
| DROP USER mysqltest_up1@'%';
 | |
| DROP USER mysqltest_up2@'%';
 | |
| #
 | |
| # BUG#1010351: New "via" keyword in 5.2+ can't be used as identifier anymore  
 | |
| #
 | |
| create table t1 (via int);
 | |
| alter table t1 add key(via);
 | |
| drop table t1;
 | |
| create table t1 (col1 int);
 | |
| alter table t1 add via int not null;
 | |
| drop table t1;
 | |
| drop procedure if exists p1;
 | |
| create procedure p1(x int)
 | |
| foo: loop
 | |
| if x = 0 then
 | |
| leave foo;
 | |
| end if;
 | |
| select 'test';
 | |
| set x = x-1;
 | |
| end loop foo|
 | |
| call p1(2);
 | |
| test
 | |
| test
 | |
| test
 | |
| test
 | |
| drop procedure p1;
 | |
| SET global secure_auth=default;
 |