Shawn's Blog
蒸汽兔
MYSQL 相关命令
字数:361 字
阅读时长:约 2 分钟
阅读次
创建账户
create user '{user}'@'%' identified by '{password}';
检查账户是否存在
SELECT EXISTS(SELECT 1 FROM mysql.user WHERE user = 'username')
授权账户
GRANT ALL PRIVILEGES ON {database}.* TO '{user}'@'%' IDENTIFIED BY '{password}';
GRANT ALL PRIVILEGES ON {database}.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
查询全局等待事务锁超时时间
SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';
设置全局等待事务锁超时时间
SET GLOBAL innodb_lock_wait_timeout=100;(单位是秒)
事务
相关表
- innodb_trx:当前运行的所有事务
- innodb_locks:当前出现的锁
- innodb_lock_waits:锁等待对应的关系
- processlist:当前进程信息
检查是否锁表
show open tables where in_use > 0;
查询当前正在执行的事务
select * from information_schema.innodb_trx
查询当前出现的锁
select * from information_schema.innodb_locks
查询等待锁的事务所执行的SQL
SELECT
a.trx_id '事务 id',
a.trx_mysql_thread_id '事务线程 id',
a.trx_query '事务 SQL'
FROM
information_schema.innodb_locks b,
information_schema.innodb_trx a
WHERE
b.lock_trx_id = a.trx_id;
通过事务线程ID查找进程信息
select * from information_schema.processlist where id = ${事务线程id}
杀死阻塞事务
kill ${事务线程id}