使用命令 # service mysqld status 命令來查看mysql 的啟動狀態(tài)如圖所示: mysqld is stopped 那就說明mysql服務是停止狀態(tài),如果是 mysqld is running 那就說明mysql服務是啟動狀態(tài)。
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務壽陽,10年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
2.使用命令chkconfig --list 命令來查看mysql 的啟動狀態(tài)如圖所示:在一下服務中找到mysqld的服務沒如果狀態(tài)為off,說明mysql服務沒有啟動。
3.使用命令chkconfig --list mysqld 命令來查看mysql 的啟動狀態(tài)如圖所示:在一下服務中找到mysqld的服務沒如果狀態(tài)為off,說明mysql服務沒有啟動。
4.使用命令chkconfig --list | grep on 命令來查看mysql 的啟動狀態(tài)如圖所示:如果mysql服務已經(jīng)啟動那么這里就會有這個服務。
5.使用命令chkconfig --list | grep off 命令來查看mysql 的啟動狀態(tài)如圖所示:如果mysql服務沒有啟動那么這里就會有這個服務。
6.使用命令ps aux | grep mysqld 命令來查看mysql 的啟動狀態(tài)如圖所示:下圖對比是啟動與不啟動的狀態(tài)。
7.使用命令 pidof mysqld 命令來查看mysql 的啟動狀態(tài)如圖所示:如果顯示PID說明程序啟動,不顯示PID即為程序沒有啟動。
擴展資料:
linux文件類型:
普通文件(regular file):就是一般存取的文件,由ls -al顯示出來的屬性中,第一個屬性為 [-],例如 [-rwxrwxrwx]。另外,依照文件的內(nèi)容,又大致可以分為:
1、純文本文件(ASCII):這是Unix系統(tǒng)中最多的一種文件類型,之所以稱為純文本文件,是因為內(nèi)容可以直接讀到的數(shù)據(jù),例如數(shù)字、字母等等。設 置文件幾乎都屬于這種文件類型。舉例來說,使用命令“cat ~/.bashrc”就可以看到該文件的內(nèi)容(cat是將文件內(nèi)容讀出來)。
2、二進制文件(binary):系統(tǒng)其實僅認識且可以執(zhí)行二進制文件(binary file)。Linux中的可執(zhí)行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進制文件。
3、數(shù)據(jù)格式的文件(data):有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件可以稱為數(shù)據(jù)文件(data file)。舉例來說,Linux在用戶登入時,都會將登錄數(shù)據(jù)記錄在 /var/log/wtmp文件內(nèi),該文件是一個數(shù)據(jù)文件,它能通過last命令讀出來。但使用cat時,會讀出亂碼。因為它是屬于一種特殊格式的文件。
目錄文件(directory):就是目錄,第一個屬性為 [d],例如 [drwxrwxrwx]。
連接文件(link):類似Windows下面的快捷方式。第一個屬性為 [l],例如 [lrwxrwxrwx]。
設備與設備文件(device):與系統(tǒng)外設及存儲等相關的一些文件,通常都集中在 /dev目錄。通常又分為兩種:
塊設備文件:就是存儲數(shù)據(jù)以供系統(tǒng)存取的接口設備,簡單而言就是硬盤。例如一號硬盤的代碼是 /dev/hda1等文件。第一個屬性為 [b]。
字符設備文件:即串行端口的接口設備,例如鍵盤、鼠標等等。第一個屬性為 [c]。
套接字(sockets):這類文件通常用在網(wǎng)絡數(shù)據(jù)連接??梢詥右粋€程序來監(jiān)聽客戶端的要求,客戶端就可以通過套接字來進行數(shù)據(jù)通信。第一個屬性為 [s],最常在 /var/run目錄中看到這種文件類型。
管道(FIFO,pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性為 [p]。
參考資料:php中文網(wǎng)-linux如何查看mysql是否啟動?
一、用phpMyAdmin進行查看
二、用命令行的SHOW 語句
直接在命令行下登陸MySQL運行SHOW STATUS;查詢語句
同樣的語句還有SHOW VARIABLES;,SHOW STATUS是查看MySQL運行情況,和上面那種通過pma查看到的信息基本類似。
SHOW VARIABLES
SHOW VARIABLES是查看MySQL的配置參數(shù),還可以使用類似SHOW VARIABLES LIKE ‘Key%’
SHOW PROCESSLIST
SHOW PROCESSLIST是查看當前正在進行的進程,對于有鎖表等情況的排查很有用處。一般情況下,打開MySQL的慢查詢記錄同樣有利于排查。
SHOW OPEN TABLES
SHOW OPEN TABLES是顯示當前已經(jīng)被打開的表列表。
三、用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 參數(shù),讓其每五秒自動刷新之。
mysqladmin -uroot -p密碼 status -i 5
mysqladmin extended-status
同樣的可以使用mysqladmin -uroot -p密碼 extended-status來查看更多的MySQL運行信息,這種方式和第一種查看的信息基本一樣。
查詢死鎖進程
采用如下存儲過程來查詢數(shù)據(jù)中當前造成死鎖的進程。
drop procedure sp_who_lock
go
CREATE procedure sp_who_lock
as
begin
declare @spid int
declare @blk int
declare @count int
declare @index int
declare @lock tinyint
set @lock=0
create table #temp_who_lock
(
id int identity(1,1),
spid int,
blk int
)
if @@error0 return @@error
insert into #temp_who_lock(spid,blk)
select 0 ,blocked
from (select * from master..sysprocesses where blocked0)a
where not exists(select * from master..sysprocesses where a.blocked =spid and blocked0)
union select spid,blocked from master..sysprocesses where blocked0
if @@error0 return @@error
select @count=count(*),@index=1 from #temp_who_lock
if @@error0 return @@error
if @count=0
begin
select '沒有阻塞和死鎖信息'
return 0
end
while @indexA href="mailto:=@count"=@count
begin
if exists(select 1 from #temp_who_lock a where id@index and exists(select 1 from #temp_who_lock where idA href="mailto:=@index"=@index and a.blk=spid))
begin
set @lock=1
select @spid=spid,@blk=blk from #temp_who_lock where id=@index
select '引起數(shù)據(jù)庫死鎖的是: '+ CAST(@spid AS VARCHAR(10)) + '進程號,其執(zhí)行的SQL語法如下'
select @spid, @blk
dbcc inputbuffer(@spid)
dbcc inputbuffer(@blk)
end
set @index=@index+1
end
if @lock=0
begin
set @index=1
while @indexA href="mailto:=@count"=@count
begin
select @spid=spid,@blk=blk from #temp_who_lock where id=@index
if @spid=0
select '引起阻塞的是:'+cast(@blk as varchar(10))+ '進程號,其執(zhí)行的SQL語法如下'
else
select '進程號SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '進程號SPID:'+ CAST(@blk AS VARCHAR(10)) +'阻塞,其當前進程執(zhí)行的SQL語法如下'
dbcc inputbuffer(@spid)
dbcc inputbuffer(@blk)
set @index=@index+1
end
end
drop table #temp_who_lock
return 0
end
GO
--執(zhí)行該存儲過程
exec sp_who_lock
補充:
一、產(chǎn)生死鎖的原因
在SQL Server中,阻塞更多的是產(chǎn)生于實現(xiàn)并發(fā)之間的隔離性。為了使得并發(fā)連接所做的操作之間的影響到達某一期望值而對資源人為的進行加鎖(鎖本質其實可以看作是一個標志位)。當一個連接對特定的資源進行操作時,另一個連接同時對同樣的資源進行操作就會被阻塞,阻塞是死鎖產(chǎn)生的必要條件。
二、如何避免死鎖
1.使用事務時,盡量縮短事務的邏輯處理過程,及早提交或回滾事務;
2.設置死鎖超時參數(shù)為合理范圍,如:3分鐘-10分種;超過時間,自動放棄本次操作,避免進程懸掛;
3.優(yōu)化程序,檢查并避免死鎖現(xiàn)象出現(xiàn);
4.對所有的腳本和SP都要仔細測試,在正是版本之前;
5.所有的SP都要有錯誤處理(通過@error);
6.一般不要修改SQL SERVER事務的默認級別。不推薦強行加鎖。
三、處理死鎖
1、最簡單的處理死鎖的方法就是重啟服務。
2、根據(jù)指定的死鎖進程ID進行處理
根據(jù)第二步查詢到的死鎖進行,大致分析造成死鎖的原因,并通過如下語句釋放該死鎖進程
kill pid --pid為查詢出來的死鎖進程號
3、通過存儲過程殺掉某個庫下面的所有死鎖進程和鎖
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_killspid]
GO
create proc sp_killspid
@dbname varchar(200) --要關閉進程的數(shù)據(jù)庫名
as
declare @sql nvarchar(500)
declare @spid nvarchar(20)
declare #tb cursor for
select spid=cast(spid as varchar(20)) from master..sysprocesses where dbid=db_id(@dbname)
open #tb
fetch next from #tb into @spid
while @@fetch_status=0
begin
exec('kill '+@spid)
fetch next from #tb into @spid
end
close #tb
deallocate #tb
go
--使用方法,“db_name”為處理的數(shù)據(jù)庫名稱
exec sp_killspid 'db_name'
如果要查詢服務器上正在跑哪些查詢進程,使用show processlist;
如果要查詢當?shù)啬男┻M程正在和mysql交互,可以使用操作系統(tǒng)自帶的netstat等工具查看mysql所在的IP和3306端口
ps
-ef|grep
mysql
可以看到是否有mysql進程,如果有mysqld這行(一般會有2行以上)則表示正常運行
也可以mysql
-u
root
-p登陸試試看能不能登陸
如果沒有啟動,service
mysqld
start啟動下
文章名稱:怎么查看mysql的進程 linux查看MySQL進程
瀏覽地址:http://jinyejixie.com/article38/dosdcpp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設計、全網(wǎng)營銷推廣、用戶體驗、網(wǎng)站維護、商城網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)