mysql5 7報錯埠占用,服務起不來

2022-03-30 16:52:23 字數 1301 閱讀 9401

首先說說我的解決步驟吧

1  lsof -i :3306

2  重啟mysql服務,如果還是起不來,那就kill掉pid號,這樣要是kill不掉就加上 -9

3  修改/etc/my.cnf的配置檔案,修改埠,並看看log_error欄位指的檔案在**,tailf  mysql-error檔案。再重新啟動

4  啟動成功之後,就把原來的埠給改回來吧

5  順便把在網上找的相關問題解答貼出來

1.可能是/usr/local/mysql/data/rekfan.pid檔案沒有寫的許可權

解決方法 :給予許可權,執行 「chown -r mysql:mysql /var/data」 「chmod -r 755 /usr/local/mysql/data」 然後重新啟動mysqld!

2.可能程序裡已經存在mysql程序

解決方法:用命令「ps -ef|grep mysqld」檢視是否有mysqld程序,如果有使用「kill -9

程序號」殺死,然後重新啟動mysqld!

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

解決方法:去mysql的資料目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !

4.mysql在啟動時沒有指定配置檔案時會使用/etc/my.cnf配置檔案,請開啟這個檔案檢視在[mysqld]節下有沒有指定資料目錄(datadir)。

解決方法:請在[mysqld]下設定這一行:datadir = /usr/local/mysql/data

5.skip-federated欄位問題

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

6.錯誤日誌目錄不存在

解決方法:使用「chown」 「chmod」命令賦予mysql所有者及許可權

7.selinux惹的禍,如果是centos系統,缺省會開啟selinux

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

但是沒有解決,最後直接給/usr/local/mysql/data 目錄 chmod 777 -r /usr/local/myql/data 問題解決 應該是 許可權問題,不能生成localhost.localdomain.pid 檔案

mysql5 7記憶體占用持續過高

table open cache指定表快取記憶體的大小。每當mysql訪問乙個表時,如果在表緩衝區中還有空間,該錶就被開啟並放入其中,這樣可以更快地訪問表內容。通過檢查峰值時間的狀態值open tables和opened tables,可以決定是否需要增加table open cache的值。如果你...

MySQL5 7使用group by報錯解決方案

首先檢視sql mode select sql mode查詢結果如下 only full group by,strict trans tables,no zero in date,no zero date,error for division by zero,no auto create user,...

mysql5 7學習 mysql 5 7 學習

mysql uroot proot mysql5.7 mysql.user表沒有password欄位改 authentication string 一.建立使用者 命令 create user username host identified by password 例子 create user d...