共计 3678 个字符,预计需要花费 10 分钟才能阅读完成。
本篇内容主要讲解“mysql 怎么查看进程连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“mysql 怎么查看进程连接”吧!
命令:show processlist;
如果是 root 帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
show processlist; 只列出前 100 条,如果想全列出请使用 show full processlist;
MySQL show processlist;
命令:show status;
命令:show status like % 下面变量 %
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的 MySQL 服务器的连接的次数。
Connections 试图连接 MySQL 服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用 INSERT DELAYED 写入的行数。
Delayed_errors 用 INSERT DELAYED 写入的发生某些错误 (可能重复键值) 的行数。
Flush_commands 执行 FLUSH 命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在 INSERT DELAY 队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过 long_query_time 时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。
My.ini 配置 虚拟内存
innodb_buffer_pool_size=576M – 128M InnoDB 引擎缓冲区
query_cache_size=100M – 32 查询缓存
tmp_table_size=102M – 32M 临时表大小
key_buffer_size=16m – 8M
设置 max_connections
命令:show variables like %max_connections%
(这个办法在 debian+mysql Ver 12.22 Distrib 4.0.22, for pc-Linux (i386)
里实验了)
设置办法是在 my.cnf 文件中,添加下面的最后红色的一行:
——————————————————————————–
[mysqld]
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=16K
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = table_cache=4
set-variable = sort_buffer=64K
set-variable = net_buffer_length=2K
set-variable = max_connections=32000
(在院里的 DELL 机器 mysql4.0 里的语法不同
max_connecionts=2000
直接这么写就好了
)
——————————————————————————–
修改完毕后,重启 MySQL 即可。当然,为了确保设置正确,应该查看一下 max_connections。
注意:
1、虽然这里写的 32000。但实际 MySQL 服务器允许的最大连接数 16384;
2、除 max_connections 外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;
3、添加了最大允许连接数,对系统消耗增加不大。
4、如果你的 mysql 用的是 my.ini 作配置文件,设置类似,但设置的格式要稍作变通。
用 mysqld –help 可以查看到 max_connections 变量。
或者 mysql -uuser -p
后 mysql show variables;
也会看到 max_connections。
下面是修改张老师 的 redhat9 的方法:
先是 mysql -uw01f -p
mysql show variables;
看到 max_connections 为 100
mysql exit;
vi /etc/my.cnf
[mysqld]
set-variable=max_connections=250 #加入这些内容
:wq
/etc/init.d/mysqld restart
好了,行了。
下面的是抄的,我用不了
mysql 的最大连接数默认是 100, 这个数值对于并发连接很多的数据库应用是远远不够的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些,有两种办法可以修改最大连接数,一种是修改 safe_mysqld,另一种是直接修改原代码并重新编译。下面我们就分别介绍这两种方法:
1. 修改 safe_mysqld
找到 safe_mysqld 编辑它,找到 mysqld 启动的那两行,在后面加上参数:
-O max_connections=1000
例如:(其中前面有 — 的是原来的内容,而 +++ 是修改过以后的)
— safe_mysqld.orig Mon Sep 25 09:34:01 2000
+++ safe_mysqld Sun Sep 24 16:56:46 2000
@@ -109,10 +109,10 @@
if test $# -eq 0
then
nohup $ledir/mysqld –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR /
– –skip-locking $err_log 2 1
+ –skip-locking -O max_connections=1000 $err_log 2 1
else
nohup $ledir/mysqld –basedir=$MY_BASEDIR_VERSION –datadir=$DATADIR /
– –skip-locking $@ $err_log 2 1
+ –skip-locking $@ -O max_connections=1000 $err_log 2 1
fi
if test ! -f $pid_file # This is removed if normal shutdown
then
然后关闭 mysql 重启它,用
/mysqladmin 所在路径 /mysqladmin -uroot -p variables
输入 root 数据库账号的密码后可看到
| max_connections | 1000 |
即新改动已经生效。
2. 修改原代码
解开 MySQL 的原代码,进入里面的 sql 目录修改 mysqld.cc 找到下面一行:
{max_connections , (long*) max_connections,1000,1,16384,0,1},
把它改为:
{max_connections , (long*) max_connections,1000,1,16384,0,1},
存盘退出,然后./configure ;make;make install 可以获得同样的效果。
到此,相信大家对“mysql 怎么查看进程连接”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!