本文目錄一覽:
- 1、mysql啟動不了服務啟動不了該怎麼辦
- 2、電腦連接mysql失敗
- 3、怎麼啟動mysql服務
- 4、mysql每用一段時間就會掛掉,是怎麼回事
- 5、mysql服務近期經常自動停止,手動啟動後恢復正常
mysql啟動不了服務啟動不了該怎麼辦
一、無法訪問系統資源
MySQL 不能訪問啟動需要的資源是造成而 MySQL 無法啟動的一個常見原因,如:文件,端口等。由於 linux 中用於啟動 mysqld 進程的 mysql 用戶通常是不能登陸的,可以使用類似下面的命令檢查文件的訪問權限。
sudo -u mysql touch /var/lib/mysql/b
找出問題後,修改對應文件或目錄的權限或屬主後通常可以解決問題。但有時 mysql 用戶有訪問文件和目錄的權限,但仍然會被拒絕訪問,例如下面這個例子:
mysql system sudo -u mysql touch /home/mysql/data/a
mysql create table t1 (
id int primary key,n varchar(10
) data directory
ERROR 1030 (HY000): Got error 168 from storage engine
測試說明 mysql 用戶有這個目錄的訪問權限,但創建文件還是失敗,這種情況讓很多人困惑,這個時候通常是 mysqld 進程的訪問被 linux 的 selinux 或 apparmor 給阻止了,大家可以看到創建的表不是在 mysql 的默認目錄下面,因此 selinux 或 apparmor 的 policy 裡面沒有包含這個目錄的訪問權限,此時只要對應的修改 policy 就行了,當然把 selinux 或 apparmor 停了也行。
有時雖然對系統資源有訪問的權限,但系統資源已經被佔用:
mysqld –no-defaults –console –user mysql
2020-11-03T03:36:07.519419Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.19) starting as process 21171
2020-11-03T03:36:07.740347Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11
這個故障產生的原因是另外一個 mysqld 進程已經啟動並佔用了對應的文件。
二、參數設置錯誤
參數設置錯誤造成 MySQL 無法啟動的原因也非常常見,此時先要檢查 MySQL 啟動時會調用的參數,下面的命令可以查詢 MySQL 啟動時調用參數文件的順序:
$ mysqld –verbose –help | grep “Default options ” -A 1
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
知道了 MySQL 參數文件的調用順序,我們就可以檢查對應的參數文件,找出其中的錯誤,如果覺得參數文件的可讀性不強,可以使用下面的命令顯示 mysqld 程序將要調用的參數:
$ mysqld –print-defaults
/usr/sbin/mysqld would have been started with the following arguments:
……
注意這個命令顯示完參數後就退出,不會真正運行 mysqld。這個命令和 my_print_defaults mysqld 完全是等價的,只不過後者的顯示方式是一行一個參數。
然後開始對可疑的參數進行調試,我個人喜歡加的參數和順序如下:
1. 在 mysqld 後加上第一個參數 –no-defaults ,這個參數的作用是通知 mysqld 在啟動的時候不要讀任何參數文件;
2. 第二個參數是 –console,這個參數會把錯誤信息輸出到屏幕上,這個參數帶來的一個弊端是所有的信息都輸出到屏幕上,讓屏幕顯得比較亂,但對於我們調試卻是很方便的;
3. 第三個參數是 –log-error-verbosity=3,這個參數會顯示詳細的日誌;
4. 然後再在後面加上有把握的參數,可以一次只加一個參數,然後啟動 mysqld,採用排除法逐步找出錯誤的參數。
電腦連接mysql失敗
原因一:登錄賬號、密碼、服務器名稱、數據庫名稱登錄錯誤導致不能連接,這個比較常見,仔細檢查好所填信息是否正確,填寫正確一般就可以解決。
解決方法:當正在使用的軟件出現數據庫不能連接時,一般就是服務器名出現問題,更改服務器名稱一般可以解決問題。數據庫如果是安裝在本機,服務器名可以用“.”或“(local)”來代替 ;如果是安裝在局域網的其它計算機上,可以用IP地址作為服務器名。
原因二:如果沒能正確安裝SQL服務器,也會導致數據庫連接不上;安裝好數據庫後,如果SQL服務管理器沒有啟動,則要去服務那裡開啟。
解決方法:如果是SQL數據庫未能能成功安裝,再次重新安裝時,可能會無法安裝,提示是存在一個未完成的安裝掛起。解決就方法是:打開註冊表編輯器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到並刪除PendingFileRenameOperations項目即可。
如果是更改了Windows的用戶名或者密碼,會導致SQL服務管理器不能啟動,解決辦法是去控制版面的服務那裡修改啟動。具體是:點擊開始–設置–控制面板–管理工具–服務–找到MSSQLSERVER服務–在上面右鍵–屬性–登陸–修改啟動服務的帳戶和密碼。
原因三:因權限問題導致數據庫不能連接,解決方法是檢測計算機的安全保護限制、SQL Server安全設置、操作系統的安全限。
解決方法:可以先暫時關閉防火牆或者殺毒軟件,看是否是這些軟件的安全設置所導致。
SQL Server安全設置:打開企業管理器–展開SQ L Server組–右擊服務器名–點擊屬性–在SQL Server屬性–安全性中,把“身份驗證”選擇為“在SQL Server和Windows”;
如果SQL服務器採用的是Windows XP系統,當工作站電腦出現不能連接數據庫的情況時,可以在服務器和工作站各建立一個相同的WINDOWS用戶賬號和密碼
原因四:引起原因:網絡連接存在故障;
解決方法:檢修網絡是否存在故障。
怎麼啟動mysql服務
1、首先,我們需要修改mysql的配置文件,一般文件存放在/etc下面,文件名為my.cnf。
2、對於mysql服務的啟動,我們通常使用命令service mysqld start,沒問題的話就能啟動mysql服務了。
3、如何判斷mysql服務有沒有啟動成功了,一個是通過查看進程的方式,我們使用命令ps -ef|grep mysqld,來查看。
4、當然,更為穩妥的方法是使用命令mysql -uuser -p passwd 來進行連接,看看是否能接上。
5、如何停止mysql的服務呢。方法也很簡單,使用命令:service mysqld stop命令即可。
6、一般,如果mysql服務沒有啟動成功,可以通過查看錯誤日誌的方式,日誌默認路徑/var/log/mysqld.log,
7、完成效果圖。
mysql每用一段時間就會掛掉,是怎麼回事
解決方法一:
打開“服務”項目,選擇mysql服務,在右鍵中選擇其“恢復”選項,它負責服務失敗時計算機的反應。每一次失敗時,你可以選擇(1)不操作;(2)重新啟動服務;(3)運行一個程序;(4)重啟服務器。您可以在第一次和第二次失敗時選擇重新啟動服務,第三次失敗就重啟服務器,這樣可以在無人值守的情況下達到自穩。但遺憾的是windows的這項內置服務工作時並不盡如人意。
解決方法二:
定期優化MySQL,這可以通過Mysql administrator來執行,也可以使用mysql的維護工具mysqlcheck,使用方法為:進入Mysql的Bin目錄:C:\Program Files\MySQL\MySQL Server 4.1\bin 運行:mysqlcheck -A -o -r -uroot -p123456(注意,將123456改成你自己的root用戶密碼, 如無請留空 ),有時可以起到一定的作用。
解決方法三:
建立一個php+mysql的簡單網站,在服務器監控王的網站監視設置中,讓服務器監控王軟件定期去訪問這個網站(如60秒一次),如果不能訪問,說明數據庫存在問題,將故障回報至您的郵箱或手機中,讓您在第一時間內得知網站訪問情況。如果連續幾次都不能訪問,您可以選擇自動重啟服務器,從而達到無人值守的狀態。
解決方法四:
設定服務器監控王的SQL監視,定期對mysql是否運行進行定期監視,如有問題立即重啟或回報。
解決方法五:
對於上面問題中提到某台服務器準時在掛掉,如凌晨5點,產生這樣的原因分析可能與當前流行的discuz論壇的自動定時備份有關,因為很多客戶定時在凌晨時段自動備份mysql數據庫,導致mysql工作忙碌(如有很多的mysql用戶),可以建立一個計劃任務,定時如早上6時將mysql重啟一下。
解決方法六:
更換為非windows主機,運行更少的mysql+PHP網站,當然對於從事虛擬主機業務的運營商來說是一項損失。
mysql服務近期經常自動停止,手動啟動後恢復正常
雖然不知道是什麼問題,看這日誌提示是這樣說,
21:57:27 有插件沒有運行(被禁止運行),無法訪問內存,數據庫非正常關閉。
可能是由於殺毒軟件或是什麼的讓數據庫或是數據庫相關的軟件被禁止自動啟動,或是其它的原因造成開機不能正常的運行。
解決方法:
找找有沒有數據庫及相關的服務被禁止自動啟動(或者其它軟件與數據庫造成衝突,這個就是每當你用那個軟件時數據庫就會掛起,把這二個軟件分開安裝或者卸掉)。
如果沒有,那可能是系統的垃圾過多,清理下。
以上都無法清除這樣的癥狀,先不要着急,多試二次開機後關機。
還是如此,重裝下數據庫。
還有種可能,網站過量使用數據庫,而造成的數據庫掛起。如死循環的調用數據庫等。
個人理解,僅供參考。
我沒那麼神,linux系統不是我的強項。
看來你的數據庫非1個,那麼以上的理解應該就不成立了,這種情況,最有可能是由於數據庫內容越來越多,數據庫當初配置的(內存或空間或緩存等不夠使用的原因吧。)這個建議你去找找配置教程看看。
技術有限,只能到這了,還有問題,得等大神出現了。
原創文章,作者:XXSCZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330069.html