扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
查询Oracle正在执行的sql语句及执行该语句的用户
创新互联自2013年起,先为湘东等服务建站,湘东等地企业,进行企业商务咨询服务。为湘东企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名FROM v$process a, v$session b, v$sqlarea cWHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value
查看正在执行sql的发起者的发放程序
SELECT OSUSER 电脑登录身份, PROGRAM 发起请求的程序, USERNAME 登录系统的用户名, SCHEMANAME, B.Cpu_Time 花费cpu的时间, STATUS, B.SQL_TEXT 执行的sqlFROM V$SESSION ALEFT JOIN V$SQL B ON A.SQL_ADDRESS = B.ADDRESS AND A.SQL_HASH_VALUE = B.HASH_VALUEORDER BY b.cpu_time DESC
查出oracle当前的被锁对象
SELECT l.session_id sid, s.serial#, l.locked_mode 锁模式, l.oracle_username 登录用户, l.os_user_name 登录机器用户名, s.machine 机器名, s.terminal 终端用户名, o.object_name 被锁对象名, s.logon_time 登录数据库时间FROM v$locked_object l, all_objects o, v$session sWHERE l.object_id = o.object_id AND l.session_id = s.sidORDER BY sid, s.serial#;
kill掉当前的锁对象可以为
alter system kill session 'sid, s.serial#‘;
如何实时查看mysql当前连接数?
1、查看当前所有连接的详细资料:
./mysqladmin -uadmin -p -h10.140.1.1 processlist
2、只查看当前连接数(Threads就是连接数.):
./mysqladmin -uadmin -p -h10.140.1.1 status
、查看当前所有连接的详细资料:
mysqladmin -uroot -proot processlist
D:\MySQL\binmysqladmin -uroot -proot processlist
+-----+------+----------------+---------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+----------------+---------+---------+------+-------+------------------+
| 591 | root | localhost:3544 | bbs | Sleep | 25 | | |
| 701 | root | localhost:3761 | | uery | 0 | | show processlist |
+-----+------+----------------+---------+---------+------+-------+------------------+
2、只查看当前连接数(Threads就是连接数.):
mysqladmin -uroot -proot status
D:\MySQL\binmysqladmin -uroot -proot status
Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab
les: 1 Open tables: 61 Queries per second avg: 7.389
3、修改mysql最大连接数:
打开my.ini,修改max_connections=100(默认为100)。
今天有一台mysql服务器突然连接数暴增,并且等待进程全部被锁...因为问题解决不当,导致被骂...OTL
总结:以后要快速定位错误,布置解决方案
登录到mysql客户端后,使用status命令也能获得thread连接数以及当前连接的id
或者用
show full processlist
看一下所有连接进程,注意查看进程等待时间以及所处状态 是否locked
如果进程过多,就把进程打印下来,然后查看
mysql -e 'show full processlist;' 111
查找非locked的进程,一般就是当前执行中卡死,导致后面的进程排队的原因。
另外,修改mysql最大连接数的方法:
编辑MySQL(和PHP搭配之最佳组合)配置文件
my.cnf 或者是 my.ini
在[MySQL(和PHP搭配之最佳组合)d]配置段添加:
max_connections = 1000
保存,重启MySQL(和PHP搭配之最佳组合)服务。
然后用命令:
MySQL(和PHP搭配之最佳组合)admin -uroot -p variables
输入root数据库账号的密码后可看到
| max_connections | 1000 |
查看MySQL连接数和当前用户Mysql连接数
先用管理员身份进入mysql提示符。
#mysql -uroot -pxxxx
mysql show processlist; 可以显示前100条连接信息 show full processlist; 可以显示全部。随便说下,如果用普通账号登录,就只显示这用户的。注意命令后有分号。
如果我们想查看这台服务器设置。 #vi /etc/my.cnf
set-variable=max_user_connections=30 这个就是单用户的连接数
set-variable=max_connections=800 这个是全局的限制连接数
这个很简单啊
符合学号或身份证的记录肯定只有一条
假如表是学生表student 学号是sid 身份证是mid
取数据:(数据库连接部分省略)
$re = mysql_query("select * from student where sid = $_POST['sid']");//根据学号查
$re = mysql_query("select * from student where mid = $_POST['mid']");//根据身份证号查
$re = mysql_query("select * from student where sid = $_POST['sid'] and mid = $_POST['mid']");
//两个一起查(根本没必要)
$row = mysql_fetch_assoc($re); //这里就是找到的学生的信息啦
你要怎么输出?
1、要是像你输入一下命令就得出结果的话,my_query(my_connection,"select
*
from
msgex");
结果显示可以小改一下就可以:my_query(my_connection,"select
*
from
msgex")
D://test.txt
2、第一步不可行的话,你先进入到mysql里面,在里面实行select
*
from
msgex
D://test.txt
上面是我简单的将显示方法给你的。你到D盘下找test.txt查看一下就知道了,可行的话就采纳吧,手有点累了。
第一步:
我们打开mysql命令行编辑器。
第二步:
我们输入密码,登录Mysql数据库。
第三步:
我们先显示数据库,选择一个我们要创建表的数据库。
第四步:
我们使用那个数据库,当然也可以直接新建一个数据库。
第五步:
我们在那个数据库中创建一个表。
最后:
我们输入describe 表名;我们就可以显示表内容了。
扩展资料:
与其他的大型数据库,例如 Oracle、DB2、SQL Server等相比,MySQL[1]
自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
参考资料:百度百科-mysql应用环境
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流