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

📄 innodb-lock.test

📁 开启mysql的远程连接的方法 mysql-noinstall-5.1.6-alpha-win32.zip
💻 TEST
字号:
-- source include/have_innodb.inc# Can't test this with embedded server-- source include/not_embedded.inc## Check and select innodb lock type#set global innodb_table_locks=1;select @@innodb_table_locks;## Testing of explicit table locks with enforced table locks#connect (con1,localhost,root,,);connect (con2,localhost,root,,);--disable_warningsdrop table if exists t1;--enable_warnings## Testing of explicit table locks with enforced table locks#set @@innodb_table_locks=1;connection con1;create table t1 (id integer, x integer) engine=INNODB;insert into t1 values(0, 0);set autocommit=0;SELECT * from t1 where id = 0 FOR UPDATE;connection con2;set autocommit=0;# The following statement should hang because con1 is locking the page--sendlock table t1 write;--sleep 2connection con1;update t1 set x=1 where id = 0;select * from t1;commit;connection con2;reap;update t1 set x=2 where id = 0;commit;unlock tables;connection con1;select * from t1;commit;drop table t1;## Try with old lock method (where LOCK TABLE is ignored by InnoDB)#set @@innodb_table_locks=0;create table t1 (id integer primary key, x integer) engine=INNODB;insert into t1 values(0, 0),(1,1),(2,2);commit;SELECT * from t1 where id = 0 FOR UPDATE;connection con2;set autocommit=0;set @@innodb_table_locks=0;# The following statement should work becase innodb doesn't check table lockslock table t1 write;connection con1;# This will be locked by MySQL--sendupdate t1 set x=10 where id = 2;--sleep 2connection con2;# Note that we will get a deadlock if we try to select any rows marked# for update by con1 !SELECT * from t1 where id = 2;UPDATE t1 set x=3 where id = 2;commit;SELECT * from t1;commit;unlock tables;connection con1;reap;commit;select * from t1;drop table t1;# End of 4.1 tests

⌨️ 快捷键说明

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