首頁 > 資料庫 > mysql教程 > mysql start 失敗怎麼辦

mysql start 失敗怎麼辦

藏色散人
發布: 2021-12-28 10:53:02
原創
5448 人瀏覽過

mysql start失敗的解決辦法:1、將原來的資料目錄遷移到重新制定的資料目錄處;2、執行“chown -R mysql:mysql /mydata/data/”;3、執行“ kill -9  進程號」;4、刪除mysql-bin。

mysql start 失敗怎麼辦

本文操作環境:Windows7系統,mysql5.5版,Dell G3電腦。

mysql start 失敗怎麼辦?

mysql資料庫啟動失敗

簡介:

重啟伺服器後-->重啟應用程式服務(Confluence)-->報錯,資料庫連線失敗(mysql設定了開機自啟動)-->查看mysql資料庫狀態:

[root@fisheye ~]# ps -ef | grep mysql
root     25555 21974  0 11:28 pts/0    00:00:00 grep mysql
登入後複製

啟動mysql伺服器

[root@fisheye data]# service mysql start
MySQL server PID file could not be found![失败]
Starting MySQL.............. ERROR! The server quit without updating PID file (/mydata/data/fisheye..pid).[失败]
登入後複製

查看錯誤日誌:

[root@fisheye data]# tail -100 fisheye.err
InnoDB: Last MySQL binlog file position 0 337403929, file name ./mysql-bin.000016
141013  1:13:28  InnoDB: Waiting for the background threads to start
141013  1:13:29 InnoDB: 5.5.33 started; log sequence number 1006647152
17:13:29 UTC - mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
di141013 01:13:29 mysqld_safe mysqld from pid file /mydata/data/fisheye.pid ended
登入後複製

未發現明顯性錯誤提示,所以手動建立一個pid檔試試

[root@fisheye data]# touch /mydata/data/fisheye.pi
登入後複製

再進行重啟服務:

[root@fisheye data]# service mysql restart
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
登入後複製

突然想到之前看過這類報錯的文章,記得有可能是磁碟空間不足導致的mysql無法啟動。

[root@fisheye data]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             9.5G  9.5G  0  100% /
/dev/sda4             5.5G  1.3G  4.0G  24% /mnt/backup
/dev/mapper/IhuilianVG-IhuilianLV00
                       22G  4.2G   17G  20% /var/www/app
tmpfs                 1.3G     0  1.3G   0% /dev/shm
登入後複製

果然如此,下面羅列一些類似問題(無法啟動)的解決思路:

1.可能是datadir目錄存在的分區滿了(df -h )

       解決方法:開啟設定檔/etc/my.cnf,在[mysqld]節下重新指定資料目錄(datadir),並將原來的資料目錄移轉到重新制定的資料目錄處

       關於遷移:(1)、cp或tar的時候一定要把權限給帶上,但是為防止意外建議再授權一次;(2)、資料比較大時一定要先壓縮再遷移,保證完整性,特別是scp到其他機器時可能會超時所以一定要壓縮(tar.gz);(3)、若是移動至另外的伺服器一定要保證mysql版本一致。

2.可能是/mydata/data/fisheye.pid檔案沒有寫的權限

      解決方法:給予權限,執行「chown -R mysql:mysql /mydata/data/」  然後重新啟動mysqld!

3.可能進程裡已經存在mysql進程

      解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9  進程號”殺死,然後重新啟動mysqld!

4.可能是第二次在機器上安裝mysql,有殘餘資料影響了服務的啟動。

       解決方法:去mysql的資料目錄/data看看,如果有mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。

5.skip-federated欄位問題(錯誤訊息:[ERROR] /mydata/data/mysql/libexec/mysqld: unknown option '--skip-federated')

       解決方法:檢查一下/etc/my.cnf檔案中有沒有沒被註解掉的skip-federated字段,如果有就立即註解掉吧。

6.selinux惹的禍,如果是centos系統,預設會開啟selinux

       解決方法:關掉它,開啟/etc/selinux/config,把SELINUX=enforcing改為SELINUX= disabled後存檔退出重啟機器試試。

推薦學習:《mysql影片教學

以上是mysql start 失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板