亚洲色偷偷一区二区手机在线_国产一卡2卡3卡4卡有限公司_日产精品一至六区_国产成人不卡无码免费视频

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:9:00-21:00
當(dāng)您遇到問題
關(guān)閉右側(cè)工具欄
mysql啟動服務(wù)失敗是什么原因?
    發(fā)布時間:2022-08-18   訪問量:15819

I .無法訪問系統(tǒng)資源


MySQL無法訪問啟動所需的資源,這是MySQL無法啟動的常見原因,比如文件、端口等。由于用于在linux中啟動mysqld進程的mysql用戶通常無法登錄,您可以使用以下命令來檢查文件訪問權(quán)限。

sudo-u MySQL touch/var/lib/MySQL/b

找出問題后,修改相應(yīng)文件或目錄的權(quán)限或所有權(quán),通??梢越鉀Q問題。但有時mysql用戶可以訪問文件和目錄,但仍然會被拒絕訪問,比如下面的例子:

MySQL > system sudo-u MySQL touch/home/MySQL/data/a

mysql >創(chuàng)建表t1(

id int主鍵,n varchar(10

)數(shù)據(jù)目錄

錯誤1030 (HY000):從存儲引擎獲得錯誤168

它顯示mysql用戶可以訪問這個目錄,但是文件的創(chuàng)建仍然失敗。這種情況讓很多人很困惑。這時候mysqld進程的訪問通常會被linux的selinux或者apparmor封鎖。可以看到創(chuàng)建的表并不在mysql的默認(rèn)目錄下。因此,selinux或apparmor的策略不包含該目錄的訪問權(quán)限。這時候只需要相應(yīng)的修改策略,當(dāng)然停止selinux或者apparmor也是可以的。

雖然有時您可以訪問系統(tǒng)資源,但是系統(tǒng)資源已經(jīng)被占用:

mysqld -無默認(rèn)值-控制臺-用戶mysql

2020-11-03t 03:36:07.519419 z 0[系統(tǒng)][MY-010116][服務(wù)器] /usr/sbin/mysqld (mysqld 8.0.19)作為進程21171開始

2020-11-03t 03:36:07.740347 z 1[錯誤] [MY-012574] [InnoDB]無法鎖定。/ibdata1錯誤:11

失敗的原因是另一個mysqld進程已經(jīng)啟動并占用了相應(yīng)的文件。


第二,參數(shù)設(shè)置錯誤

由于參數(shù)設(shè)置錯誤導(dǎo)致MySQL無法啟動也是很常見的。這時候你要先檢查一下MySQL啟動時會調(diào)用的參數(shù)。以下命令可以查詢MySQL啟動時調(diào)用參數(shù)文件的順序:

$ mysqld - verbose - help | grep "默認(rèn)選項"-A 1

默認(rèn)選項按給定順序從以下文件中讀取:

/etc/my . CNF/etc/MySQL/my . CNF ~/. my . CNF

知道了MySQL參數(shù)文件的調(diào)用順序,我們就可以檢查相應(yīng)的參數(shù)文件,找出錯誤。如果我們覺得參數(shù)文件的可讀性不強,我們可以使用下面的命令來顯示mysqld程序要調(diào)用的參數(shù):

$ mysqld -打印-默認(rèn)值

/usr/sbin/mysqld會以下列參數(shù)啟動:

......

請注意,該命令將在顯示參數(shù)后退出,并且不會實際運行mysqld。這個命令完全等同于my_print_defaults mysqld,只是后者的顯示方式是每行一個參數(shù)。

然后開始調(diào)試可疑參數(shù)。我個人喜歡把參數(shù)和順序補充如下:

1.在mysqld之后添加第一個參數(shù)- no-defaults。該參數(shù)的作用是通知mysqld在啟動時不要讀取任何參數(shù)文件;

2.第二個參數(shù)是- console,它將錯誤信息輸出到屏幕上。這個參數(shù)的一個缺點是所有信息都輸出到屏幕上,讓屏幕看起來很亂,但是對我們調(diào)試來說非常方便;

3.第三個參數(shù)是-log - log-error-verbosity=3 = 3。此參數(shù)將顯示詳細(xì)的日志;

4.然后在后面加上確定的參數(shù)。一次只能添加一個參數(shù),然后啟動mysqld,用排除法逐步找出錯誤的參數(shù)。