日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...

發布時間:2024/9/27 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

本文介紹了在Linux實例中,MySQL常見的無法啟動或啟動異常處理方法。

詳細描述

常見問題處理描述,目錄如下。

提示:MySQL錯誤日志通常記錄在/alidata/log/mysql/error.log文件下。

MySQL配置文件my.cnf權限問題導致無法啟動,錯誤提示“World-writable config file '/etc/my.cnf' is ignored”

問題描述

Linux實例的MySQL無法啟動,報如下錯誤:

問題分析

查看MySQL錯誤日志發現如下錯誤(提示 MySQL 庫的 host 表無法打開)。

查看/etc/my.cnf配置文件。

到MySQL數據庫所在目錄查看表是否存在。

發現MySQL庫的host表是存在的,那為什么會提示不存在呢?

問題應該出在/etc/my.cnf文件上,從第一個截圖也可以看到警告信息(/etc/my.cnf被忽視)

查看文件權限。

原來文件權限被設置成777,因安全問題導致被MySQL忽視,所以去查詢默認的數據庫存放路徑,沒有MySQL庫的host表導致啟動失敗。

解決辦法

將/etc/my.cnf權限修改成644,然后啟動MySQL即可。

Binlog 丟失導致無法啟動,錯誤日志: File './mysql-bin.000001' not found

問題描述

清理磁盤空間時刪除了全部binlog日志,導致MySQL無法啟動。

MySQL的errorlog里面可以看到錯誤信息。

解決辦法

有以下兩種解決方法,步驟如下。

編輯/etc/my.cnf,找到log-bin=mysql-bin,在前面加#將其注釋暫時關閉binlog,保存修改后啟動MySQL服務。

提示:my.cnf配置文件路徑以實際調用路徑為準

通過清理Binlog索引文件解決,清理命令如下,完清理后啟動MySQL服務。

echo " " > mysql-bin.index

注:也可以通過vim編輯進行清理。

Binlog無法讀取導致無法啟動,錯誤日志:Failed to open log (file './mysql-bin.000001', errno 13)

問題描述

MySQL 無法啟動報錯“Starting MySQL…The server quit without updating PID file [FAILED]a/server/mysql/data/test.pid).”。并且查看MySQL的錯誤日志會提示“110711?00:00:00?[ERROR]?Failed?to?open?log?(file?'./mysql-bin.000001',?errno?13)”

問題原因

Binlog日志無法去讀,一般由于磁盤空間滿,或者權限不正確導致。

解決辦法

執行如下命令查詢磁盤空間。

df -h

查看磁盤空間沒有滿,則需要ls命令檢查文件權限。

執行如下命令,修改文件權限。

chmod 660 mysql-bin.000001chown mysql.mysql mysql-bin.000001

修改完成,確認正常啟動MySQL。

不能創建PID導致無法啟動,錯誤日志“Can't start server: can't create PID file: No such file or directory”

問題描述

MySQL 啟動報錯信息如下。

Starting mysqld (via systemctl): ?Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details、?[FAILED]

問題原因

MySQL服務在啟動的時候,不能創建PID文件。

解決方法

使用systemctl status mysqld.service和journalctl -xe查看服務啟動失敗的原因。

如果mysqld目錄終端看一下是否存在,如果不存在,執行如下命令,手動創建。

mkdir -p /var/run/mysqld/

再次嘗試啟動MySQL服務,報錯如下。

Starting mysqld (via systemctl): ?Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED]

查看MySQL的告警日志類似如下。

2016-01-20T10:28:37.183387Z 0 [ERROR] /usr/sbin/mysqld: Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 13 - Permission denied)2016-01-20T10:28:37.183431Z 0 [ERROR] Can’t start server: can’t create PID file: Permission denied160120 18:28:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended160120 18:32:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

由于權限不正確,/var/run/mysqld/的屬主和屬組還是root,MySQL并不能在其中創建文件后修改該目錄的屬主和屬組。

執行如下命令,修改mysqld目錄屬性。

chown mysql.mysql /var/run/mysqld/

執行如下命令,重啟mysqld。

/etc/init.d/mysqld

不能創建臨時文件導致無法啟動,錯誤日志“mysqld: Can't create/write to file '/tmp/ibfguTtC' (Errcode: 13)”

問題描述

MySQL啟動失敗,錯誤日志“mysqld: Can't create/write to file '/tmp/ibfguTtC' (Errcode: 13)”。

解決辦法

使用命令ll -d /tmp命令檢查目錄權限。

使用chmod 1777 /tmp設置為正確權限。

重啟MySQL。

MySQL 服務無法識別導致無法啟動,錯誤提示:mysqld: unrecognized service

問題描述

執行MySQL啟動命令service mysqld start時,提示“mysqld: unrecognized service(未識別的服務)”。

問題原因

因為service命令是通過/etc/init.d啟動服務目錄來調用的,所以我們需要看一下/etc/init.d是否存在mysqld這個服務,使用find /etc/init.d/ -name mysqld命令來查找,發現沒有mysqld這個文件了。

解決辦法

需要將這個文件復制到/etc/init.d/目錄下,改名為mysqld,并且賦予這個文件可執行權限。

最后通過命令chkconfig —add mysqld添加開機自動啟動服務。

使用service mysqld start啟動成功。

MySQL配置了過大的內存導致無法啟動,錯誤提示“InnoDB: Cannot allocate memory for the buffer pool”

問題描述

MySQL啟動時報錯,查看錯誤日志有“[ERROR] InnoDB: Cannot allocate memory for the buffer pool(不能從緩存池中分配給innodb引擎需要的內存)”。

解決辦法

需要調整MySQL配置文件my.cnf中的innodb_buffer_pool_size和key_buffer_size的大小設置,適當的調大內存分配,一般調整為系統內存的一半。

先使用free -m查看下系統內存大小,查看是1G內存。

通過vi /etc/my.cnf,調整innodb_buffer_pool_size和key_buffer_size各為500M。

注意:my.cnf以實際配置文件路徑為準。

重啟MySQL服務使其生效。】

MySQL啟動參數過多導致無法啟動,錯誤提示“Too many arguments (first extra is 'start')”

問題描述

Linux實例系統安裝MySQL,啟動的方式有多種,如果輸入mysqld start —user=mysql 啟動后,出現報錯:Too many arguments (first extra is 'start')。

問題原因

這是因為啟動MySQL的時候參數過多導致。

解決辦法

通過直接輸入/路徑/mysqld —user=mysql的方式啟動,如下所示。

MySQL目錄權限問題導致無法啟動,錯誤提示“File './mysql-bin.index' not found (Errcode:13 - Permission denied)”

問題描述

MySQL啟動報錯,錯誤日志如下圖所示。

問題原因

提示的異常為文件屬性權限異常導致。

解決方法

查看MySQL服務下的data目錄,確認mysql-bin.index的權限是否正常。

正常情況下data目錄下文件的屬主和屬組都應該是mysql,如果不是請修改正確的文件屬性權限,并重啟MySQL。

提示:如果對MySQL服務配置文件的屬性不清楚,可以通過對比正常的MySQL主機對比了解。

MySQL未初始化導致無法啟動,錯誤提示“can't open the mysql.plugin table”

問題描述

MySQL服務啟動時錯誤提示如下。

ERROR! MySQL manager or server PID file could not be found!

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

問題原因

查看錯誤日志提示“can't open the mysql.plugin table ,please run mysql_upgrade to create it”。

解決辦法

執行如下命令,指定datadir與basedir進行初始化啟動。

/alidata/server/mysql-5.1.73/scripts/mysql_install_db —user=mysql —datadir=/alidata/server/mysql/data —basedir=/alidata/server/mysql-5.1.73/

注意:以現場實際MySQL安裝路徑為準。

MySQL啟動成功但未監聽端口

問題描述

MySQL啟動成功,使用ps -ef |grep mysql可以看到進程,也可以在服務器登錄,但是使用netstat -antp| grep 3306命令可以看到沒有監聽端口。

問題原因

配置文件中使用了skip-networking選項功能,該選項的作用是不監聽端口,同主機的用戶可以通過sockets進行鏈接。外部主機由于沒有監聽端口,將無法連接。

解決方法

查看MySQL配置文件,確認端口當前MySQL端口號。

通過vim編輯MySQL配置文件將skip-networking選項注釋掉或刪除,重啟MySQL即可看到端口監聽了。

MySQL服務ibdata1權限問題導致無法啟動,錯誤日志“InnoDB Operating system error number 13 in a file operation”

問題描述

mysql啟動提示update pid失敗提示“Starting MySQL. ERROR! Manager of pid-file quit without updating file.”。同時錯誤日志中記錄“InnoDB Operating system error number 13 in a file operation”,如下圖所示。

問題原因

操作系統訪問文件/usr/local/mysql/var/idata1無權限導致。

解決辦法

查看權限,確認MySQL服務沒有訪問權限。系統顯示類似如下。

調整為MySQL服務可以訪問的權限,比如777,或者是調整屬帳號為mysql,完成后正常重啟動MySQL。

磁盤空間滿導致MySQL無法啟動

問題描述

啟動MySQL報錯提示為“ERROR! MySQL manager or server PID file could not be found! Starting MySQL. ERROR! Manager of pid-file quit without updating file.”。并且查看下MySQL錯誤日志提示如下圖所示。

問題原因

MySQL日志文件占用過大磁盤空間,磁盤空間不足導致啟動報錯。

解決辦法

執行如下命令,查看當前磁盤使用情況。

df -h

系統顯示類似如下。

執行如下命令,查看當前所有磁盤空間中大于100M的文件。

find / -size +100M

系統顯示類似如下。

確認MySQL日志占用過大磁盤空間,且該日志文件無特殊需求時,直接刪除即可。

進程殘留導致MySQL無法啟動

問題描述

MySQL啟動失敗,錯誤提示“Starting MySQL. ERROR! Manager of pid-file quit without updating file.”? 。

問題原因

使用ps -A | grep mysqld命令 ,發現mysqld和mysqld_safe進程殘留,進程ID分別是994和1221。

提示:進程ID在不同服務器環境中可能不同,請根據實際情況為準。

解決辦法

通過kill命令,結束兩個進程,重啟MySQL,并確認成功啟動。

MySQL服務自動停止

問題描述

服務器上安裝的MySQL,會出現自動停止的情況。

問題原因

出現這種現象,通常是服務器的內存不足導致的。

解決辦法

執行如下命令,查看服務器的系統日志/var/log/messages文件,分析服務器日志來分析。

tail /var/log/messages

系統顯示類似如下。

注:看下在MySQL自動停止的時間段內,有什么異常的日志信息,如果日志有提示“Out of memory”就可以判定,是服務器的內存使用不足,導致系統自動殺死的MySQL的進程。

最后可以通過升級服務器的內存可以解決。

適用于

云服務器 ECS

總結

以上是生活随笔為你收集整理的mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。