mysql怎么運(yùn)行不了 mysql也不停止運(yùn)行但是用不了

Windows 為什么無法啟動(dòng)MySQL服務(wù)(位于本地計(jì)算機(jī)上)?

windows無法啟動(dòng)MySQL服務(wù)可能的原因有一下幾種:

創(chuàng)新互聯(lián)專注于薩迦網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供薩迦營銷型網(wǎng)站建設(shè),薩迦網(wǎng)站制作、薩迦網(wǎng)頁設(shè)計(jì)、薩迦網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造薩迦網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供薩迦網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

mysql配置文件設(shè)置錯(cuò)誤

A、首先查找mysql對應(yīng)的配置文件my.ini

如果服務(wù)是使用指定的配置文件啟動(dòng),到對應(yīng)的文進(jìn)行修改(文件的位置從控制面板中服務(wù)的屬性中查看)

B、檢查參數(shù)basedir和datadir對應(yīng)的目錄是否存在,如:

basedir = d:/mysql/

datadir = d:/mysql/data/

檢查Mysql目錄有沒有給系統(tǒng)的System用戶文件讀寫權(quán)限(一般以System用戶啟動(dòng)mysql服務(wù))

檢查mysql的3306端口是否被占用,如果占用,則修改my.ini配置文件中端口參數(shù),將端口修改為其他值。

mysql的數(shù)據(jù)庫文件遭到破壞。

MySQL卸載時(shí)一些信息不會(huì)自動(dòng)刪除,導(dǎo)致服務(wù)的路徑設(shè)置不對導(dǎo)致的。檢查注冊表,路徑見下圖左下角的路徑信息,把ImagePath改成你現(xiàn)在的路徑。

技術(shù)分享 | MySQL 啟動(dòng)失敗的常見原因

MySQL 啟動(dòng)失敗的最常見的原因有兩類,分別是無法訪問系統(tǒng)資源和參數(shù)設(shè)置錯(cuò)誤造成的,下面分別分析如下。

MySQL 不能訪問啟動(dòng)需要的資源是造成而 MySQL 無法啟動(dòng)的一個(gè)常見原因,如:文件,端口等。由于 linux 中用于啟動(dòng) mysqld 進(jìn)程的 mysql 用戶通常是不能登陸的,可以使用類似下面的命令檢查文件的訪問權(quán)限。

找出問題后,修改對應(yīng)文件或目錄的權(quán)限或?qū)僦骱笸ǔ?梢越鉀Q問題。但有時(shí) mysql 用戶有訪問文件和目錄的權(quán)限,但仍然會(huì)被拒絕訪問,例如下面這個(gè)例子:

測試說明 mysql 用戶有這個(gè)目錄的訪問權(quán)限,但創(chuàng)建文件還是失敗,這種情況讓很多人困惑,這個(gè)時(shí)候通常是 mysqld 進(jìn)程的訪問被 linux 的 selinux 或 apparmor 給阻止了,大家可以看到創(chuàng)建的表不是在 mysql 的默認(rèn)目錄下面,因此 selinux 或 apparmor 的 policy 里面沒有包含這個(gè)目錄的訪問權(quán)限,此時(shí)只要對應(yīng)的修改 policy 就行了,當(dāng)然把 selinux 或 apparmor 停了也行。

有時(shí)雖然對系統(tǒng)資源有訪問的權(quán)限,但系統(tǒng)資源已經(jīng)被占用:

這個(gè)故障產(chǎn)生的原因是另外一個(gè) mysqld 進(jìn)程已經(jīng)啟動(dòng)并占用了對應(yīng)的文件。

參數(shù)設(shè)置錯(cuò)誤造成 MySQL 無法啟動(dòng)的原因也非常常見,此時(shí)先要檢查 MySQL 啟動(dòng)時(shí)會(huì)調(diào)用的參數(shù),下面的命令可以查詢 MySQL 啟動(dòng)時(shí)調(diào)用參數(shù)文件的順序:

知道了 MySQL 參數(shù)文件的調(diào)用順序,我們就可以檢查對應(yīng)的參數(shù)文件,找出其中的錯(cuò)誤,如果覺得參數(shù)文件的可讀性不強(qiáng),可以使用下面的命令顯示 mysqld 程序?qū)⒁{(diào)用的參數(shù):

注意這個(gè)命令顯示完參數(shù)后就退出,不會(huì)真正運(yùn)行 mysqld。這個(gè)命令和 my_print_defaults mysqld 完全是等價(jià)的,只不過后者的顯示方式是一行一個(gè)參數(shù)。

然后開始對可疑的參數(shù)進(jìn)行調(diào)試,我個(gè)人喜歡加的參數(shù)和順序如下:

看這個(gè)例子:

看這個(gè)例子,我們很容易知道是需要我們同時(shí)設(shè)置參數(shù) GTID_MODE 和 ENFORCE_GTID_CONSISTENCY 同時(shí)為 on 才行。

一次解決MySQL無法啟動(dòng)的全過程

啟動(dòng)Mysql提示ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxxx.local.pid).

1、查看mysql錯(cuò)誤日志:打開/usr/local/var/mysql/xxxx.err或者xxxx.local.err文件。

2、問題應(yīng)該是某個(gè)程序占用了mysql的默認(rèn)端口3306。

3、查看端口使用情況lsof -i:3306,發(fā)現(xiàn)是一個(gè)用戶名為_mysql啟動(dòng)了mysqld指令占用了3306,感覺現(xiàn)象非常奇怪,不清楚為什么會(huì)有這個(gè)用戶組,為什么會(huì)啟動(dòng)mysqld,由于這個(gè)電腦是公司其他同事轉(zhuǎn)移資產(chǎn)到的我名下,所以有可能是之前用戶或者公司it裝了什么服務(wù)導(dǎo)致的。

4、首先嘗試干掉進(jìn)程:sudo kill xxxx,結(jié)果發(fā)現(xiàn)當(dāng)kill后,還會(huì)重新啟動(dòng)。

5、嘗試修改mysql默認(rèn)啟動(dòng)端口,Baidu上有人告訴修改/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist文件

添加string--port=3307/string保存,先重新啟動(dòng)mysql服務(wù),發(fā)現(xiàn)問題依然存在,發(fā)現(xiàn)配置沒有起作用,默認(rèn)端口依然是3306,然后考慮重新啟動(dòng)電腦,看看是否可以修改占用默認(rèn)端口的配置。

6、重啟后再次查看3306端口占用情況,發(fā)現(xiàn)確實(shí)不存在了。但是發(fā)現(xiàn)啟動(dòng)mysql服務(wù)時(shí),依然存在問題:

仔細(xì)觀察發(fā)現(xiàn),這個(gè)占用和plist中的mysql配置一樣的,所以可以確定每次啟動(dòng)計(jì)算機(jī)后,會(huì)按默認(rèn)配置執(zhí)行一個(gè)mysqld。

7、不清楚為什么會(huì)按com.oracle.oss.mysql.mysqld.plist配置執(zhí)行mysqld,于是把注意力放在了Mac啟動(dòng)上。

8、Mac的啟動(dòng)原理是:

看到這里就明白了,原來LaunchDaemons里面放的是Mac啟動(dòng)時(shí)的一些啟動(dòng)服務(wù),

9、System/Library和/Library和~/Library目錄的區(qū)別:

10、System/Library和/Library和~/Library目錄的區(qū)別:

11、有了上面的結(jié)果,于是把注意力放在了com.oracle.oss.mysql.mysqld.plist上,每個(gè)Mac啟動(dòng)中都有么,這個(gè)是如何添加的。首先查看了家里的其他蘋果電腦,發(fā)現(xiàn)都沒有這個(gè)plist文件,于是開始研究這個(gè)文件的產(chǎn)生原因。

12、經(jīng)過Baidu懷疑這個(gè)文件應(yīng)該是之前用dmg安裝包安裝的mysql產(chǎn)生的,在設(shè)置中也發(fā)現(xiàn)了殘留信息

于是果斷把自動(dòng)啟動(dòng)去掉,重啟計(jì)算機(jī)。

13、重啟后,發(fā)現(xiàn)無論是3306還是3307端口上都沒有mysql服務(wù)了,于是運(yùn)行mysql.server start,這次終于看見了Starting MySQL . SUCCESS!

14、刪除com.oracle.oss.mysql.mysqld.plist文件,重啟電腦后,發(fā)現(xiàn)設(shè)置中仍然還有MySQL的控制選項(xiàng)。

15、MySQL dmg安裝方式的卸載方法:

至此,這個(gè)問題算是完美解決了。

當(dāng)前名稱:mysql怎么運(yùn)行不了 mysql也不停止運(yùn)行但是用不了
文章轉(zhuǎn)載:http://muchs.cn/article26/dohepcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、搜索引擎優(yōu)化、品牌網(wǎng)站制作、外貿(mào)建站、電子商務(wù)、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)