可直接在mysql命令行执行:show engine innodb status\G
查看造成死锁的sql语句,分析索引情况,然后优化sql然后show processlist
show status like ‘%lock%’
show OPEN TABLES where In_use >0这个语句记录当前锁表状态
另外可以打开慢查询日志,linux下打开需在my.cnf的[mysqld]里面加上以下内容:
slow_query_log=TRUE(有些mysql版本是ON)
slow_query_log_file=/usr/local/mysql/slow_query_log.txt
long_query_time=3
扩展资料:MySQL锁定状态查看命令
Checking table:正在检查数据表(这是自动的)。
Closing tables:正在将表中修改的数据刷新到磁盘中,同时正在关闭已经用完的表。这是一个很快的 *** 作,如果不是这样的话,就应该确认磁盘空间是否已经满了或者磁盘是否正处于重负中。
Connect Out:复制从服务器正在连接主服务器。
Copying to tmp table on disk:由于临时结果集大于tmp_table_size,正在将临时表从内存存储转为磁盘存储以此节省内存。
Creating tmp table:正在创建临时表以存放部分查询结果。
deleting from main table:服务器正在执行多表删除中的第一部分,刚删除第一个表。
mysql中查看一个表内容有几种方法,主要介绍用工具直接查看,还有用语句查看。
工具:mysql 5.6
工具查看:
1、以Navicat Premium软件为例,打开软件,登录到指定数据库。如图登录到localhost(本地)服务器下的badkano_test数据库。
2、点击badkano_test下的“表”,会出现table的列表,右键点击要查看的表,然后选择“打开表”或“打开表(快速)”,都可以浏览表中内容。
3、浏览结果:
语句查看:
1、同样使用工具登录到指定数据库。
2、然后依次点击上方的查询-新建查询。
3、d出的文本框中,输入sql语句:
select * from student4、查询结果:
1.查看数据库的索引空间大小
在MySQL
Workbench中运行以下SQL语句:
—
以GB为单位
SELECT
CONCAT(ROUND(SUM(index_length)/(1024*1024*1024),
6),
‘
GB’)
AS
‘Total
Index
Size’
FROM
information_schema.TABLES
WHERE
table_schema
LIKE
‘database’
—
以MB为单位
SELECT
CONCAT(ROUND(SUM(index_length)/(1024*1024),
6),
‘
MB’)
AS
‘Total
Index
Size’
FROM
information_schema.TABLES
WHERE
table_schema
LIKE
‘database’
其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:
2.
查看数据库的数据空间大小
在MySQL
Workbench中运行以下SQL语句:
—
以GB为单位
SELECT
CONCAT(ROUND(SUM(data_length)/(1024*1024*1024),
6),
‘
GB’)
AS
‘Total
Data
Size’
FROM
information_schema.TABLES
WHERE
table_schema
LIKE
‘database’
—
以MB为单位
SELECT
CONCAT(ROUND(SUM(data_length)/(1024*1024),
6),
‘
MB’)
AS
‘Total
Data
Size’
FROM
information_schema.TABLES
WHERE
table_schema
LIKE
‘database’
其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:
3.
查看数据库中所有表的信息
在MySQL
Workbench中运行以下SQL语句,查看数据库中所有表的表名、表行数、数据空间大小、索引空间大小和总大小:
SELECT
CONCAT(table_schema,’.’,table_name)
AS
‘Table
Name’,
table_rows
AS
‘Number
of
Rows’,
CONCAT(ROUND(data_length/(1024*1024),6),’
MB’)
AS
‘Data
Size’,
CONCAT(ROUND(index_length/(1024*1024),6),’
MB’)
AS
‘Index
Size’,
CONCAT(ROUND((data_length+index_length)/(1024*1024),6),’
MB’)
AS’Total
Size’
FROM
information_schema.TABLES
WHERE
table_schema
LIKE
‘database’
其中,database是待查看数据库的名称,例如:lsqdb%。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)