扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
利用mysql命令查看
成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、服务器托管雅安、等保安全、私有云建设等企业级互联网基础服务,欢迎联系:18980820575
MySQL 内建直接看 status 就可以看到系统常见讯息, 如下述范例:
1.$ mysql -u root -p
2.mysql s
“Threads: 2 Questions: 224857636 Slow queries: 229 Opens: 1740 Flush tables: 1 Open tables: 735 Queries per second avg: 137.566
$ mysql -u root -p -e "status" # s = status,
用这个也会列出上述结果.
一、用phpMyAdmin进行查看
二、用命令行的SHOW 语句
直接在命令行下登陆MySQL运行SHOW STATUS;查询语句
同样的语句还有SHOW VARIABLES;,SHOW STATUS是查看MySQL运行情况,和上面那种通过pma查看到的信息基本类似。
SHOW VARIABLES
SHOW VARIABLES是查看MySQL的配置参数,还可以使用类似SHOW VARIABLES LIKE ‘Key%’
SHOW PROCESSLIST
SHOW PROCESSLIST是查看当前正在进行的进程,对于有锁表等情况的排查很有用处。一般情况下,打开MySQL的慢查询记录同样有利于排查。
SHOW OPEN TABLES
SHOW OPEN TABLES是显示当前已经被打开的表列表。
三、用MySQL自带工具mysqladmin 查看
使用MySQL自带的mysqladmin 工具查看status,使用以下命令
mysqladmin -uroot -p密码 status
显示的结果如下:
Uptime: 502963 Threads: 2 Questions: 8561820 Slow queries: 734681 Opens: 553
45 Flush tables: 1 Open tables: 85 Queries per second avg: 17.023
另外可以添加 -i 5 参数,让其每五秒自动刷新之。
mysqladmin -uroot -p密码 status -i 5
mysqladmin extended-status
同样的可以使用mysqladmin -uroot -p密码 extended-status来查看更多的MySQL运行信息,这种方式和第一种查看的信息基本一样。
推荐一个讲解MySQL的好书-- MySQL是怎样运行的 ,作者是小孩子4919,这是目前为止笔者读过的MySQL方面最好的书.
笔者之前翻看过(MySQL技术内幕:InnoDB存储引擎)和(高性能MySQL),前者对InnoDB的技术要点讲解的很深.后者则是流水账式的介绍MySQL的各个模块. 彼时笔者的背景知识极为有限:
所以两者都不适合.笔者需要的是这样的一本书
很幸运,笔者发现了 MySQL是怎么运行的 ,它达成了上述需求的90%.如果你跟笔者有类似的问题,那么读下这本书吧!
推荐大家重点阅读下面章节
从此跟乱码say goodbye
了解记录在内存中的结构,B+树的演变由来,以及为什么要使用索引--没有索引就要扫全表呀!
缓冲池提高了性能,也带来了问题.
做完的事情说什么也不能丢失.
第一次听说脏写和Read View.看完之后才知道事务隔离级别的实现差异.
祝大家有一个愉快的阅读体验~
你的问题太泛泛了,“MYSQL的程序”你指的是什么?是MYSQL的 存储过程??您最好是具体问题具体问,你这样提问的话大家都不知道你想要什么!
mysql soure example.sql里的soure写错了应该是source!!!!example.sql是你实现先编辑好的文本内容,内容可以是创建一个数据库,然后再数据库下建立一个或多个数据表,再往表里插入一些记录!!然后再写个存储过程完成一些简单的功能,比如把A表里的内容插入到B表等等(可以加内容存在就修改不存在就插入等判断)!!建立一个.SQL文件就是为了方便!!随便举个例子:在D盘根目录下用记事本建立个example.sql文件,内容如下:
CREATE database name ;
use name;
CREATE TABLE a (
user_id int(11) DEFAULT NULL,
name char(11) DEFAULT NULL,
UNIQUE KEY USER_ID (user_id)
);
insert into a (user_id,name) values (1,'aaa'),(2,'bbb');
CREATE TABLE b (
user_id int(11) DEFAULT NULL,
name char(11) DEFAULT NULL,
UNIQUE KEY USER_ID (user_id)
);
insert into b (user_id,name) values (1,'xxx'),(3,'ccc');
DELIMITER $$
DROP PROCEDURE IF EXISTS qq$$
CREATE PROCEDURE qq()
begin
declare p_user_id varchar(6);
declare p_name varchar(6);
declare cursor_flag int default 0;
declare user_nrb cursor for select user_id,name from a;
declare continue handler for sqlstate '02000' set cursor_flag = 1;
open user_nrb;
repeat
fetch user_nrb into p_user_id,p_name;
if not cursor_flag then
if not exists (select * from b where user_id=p_user_id) then
insert into b(user_id,name)values(p_user_id,p_name);
else
update b set name=p_name where user_id=p_user_id;
end if;
end if;
until cursor_flag end repeat;
close user_nrb;
end$$
DELIMITER ;
顺序是建立名为name的数据库,其下建立俩表A和B,为A表插入用户1和2,为B表插入用户1,3!!再建立名为QQ的存储过程,功能是把a表的用户导入到B表,如果A的用户号再B里没有直接插入,如果A里的用户号已经在B表里了那就改变B表里相应用户的名字!!大概是这么个过程!!在MYSQL自带的客户端导入刚才建立的example.sql文件,顺序是:开始——程序——MYSQL——MYSQL SERVER5.1——MYSQL COMMAND LINE CLIENT 窗口里输入ROOT用户密码在光标处输入source d:\example.sql!!最后再执行存储过程,敲call qq;回车!!!
验证方法是敲select * from b;回车!!可以发现B表由本来插入的2条记录变成3条记录,而且用户1的名字也从xxx变成aaa了!!!!
希望对你有帮助!另外最重要的是MYSQL有一些很好的图形界面客户端工具,不用这个DOS界面的东西,下载个sqlyog什么的软件装上,基本一启动就会用了的东西!在SQLYOG的界面直接把example.sql里的内容复制过来粘贴后按F5键运行即可!!!
Windows:
1、右键“电脑”--管理--服务 排序找找是否存在mysql名字的服务
2、运行--services.msc 排序查找
3、任务栏右键--任务管理器--服务
Linux查看服务状态:
1、ps?-ef?|grep?mysqld
2、ps?-aux|grep?mysqld
3、service?mysqld?status
4、service?mysql?statusLinux查看MySQL是否在运行:
1、ps?-ef?|grep?mysql
2、ps?-aux|grep?mysql
3、netstat?-anp?|?grep?mysql
4、netstat?-altp?|grep?3306
5、lsof?-i:3306当然以上都是按常规安装服务名和端口去检测的,如过改过服务名和端口请替换相应位置。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流