mysqld_safe error: log-error set to '/data/log/mysqld.log', however file don't exists. Create writable for user 'mysql'.The server quit without updating PID file (/data/mysql/mysqld.pid)


[oot@cent65 bin]# service mysqld start
Starting MySQL.2019-10-28T15:56:47.786960Z mysqld_safe error: log-error set to '/data/log/mysqld.log', however file don't exists. Create writable for user 'mysql'.
The server quit without updating PID file (/data/mysql/mysqld.pid).[失敗]

[root@cent65 bin]# touch /data/log/mysqld.log
添加文件后,log錯誤沒了,pid還有,看權限也沒啥問題,又重新授權一次還是不行。。。
其中datadir=/data/mysql

[root@cent65 log]# cd /data/mysql
[root@cent65 mysql]# ll
總用量 110652
-rw-r----- 1 mysql mysql 56 10月 29 00:12 auto.cnf
-rw------- 1 mysql mysql 1676 10月 29 00:12 ca-key.pem
-rw-r--r-- 1 mysql mysql 1112 10月 29 00:12 ca.pem
-rw-r--r-- 1 mysql mysql 1112 10月 29 00:12 client-cert.pem
-rw------- 1 mysql mysql 1680 10月 29 00:12 client-key.pem
-rw-r----- 1 mysql mysql 425 10月 29 00:12 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 10月 29 00:12 ibdata1
-rw-r----- 1 mysql mysql 50331648 10月 29 00:12 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 10月 29 00:12 ib_logfile1
drwxr-x--- 2 mysql mysql 4096 10月 29 00:12 mysql
drwxr-x--- 2 mysql mysql 4096 10月 29 00:12 performance_schema
-rw------- 1 mysql mysql 1680 10月 29 00:12 private_key.pem
-rw-r--r-- 1 mysql mysql 452 10月 29 00:12 public_key.pem
-rw-r--r-- 1 mysql mysql 1112 10月 29 00:12 server-cert.pem
-rw------- 1 mysql mysql 1676 10月 29 00:12 server-key.pem
drwxr-x--- 2 mysql mysql 12288 10月 29 00:12 sys
[root@cent65 mysql]# pwd
/data/mysql
[root@cent65 mysql]# chown -R mysql:mysql /data/mysql
[root@cent65 mysql]# chmod -R 755 /data/mysql
[root@cent65 mysql]#
上面重新授權不記得有沒驗證...
我怒了!直接執行下面的。。。
[root@cent65 ~]# chown -R mysql:mysql /data
[root@cent65 ~]# chmod 775 /data
[root@cent65 ~]# service mysqld start
Starting MySQL.[確定]

於是,從網上扒拉了一圈,能試的基本上都試一下
問題的原因總結的灰常到位

出現問題的可能性
1、可能是/usr/local/mysql/data/數據目錄mysql用戶沒有權限(修改數據目錄的權限)
解決方法 :給予權限,執行 "chown -R mysql.mysql /usr/local/mysql/data"然后重新啟動mysqld

2、可能進程里已經存在mysql進程
解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9 進程號”殺死,然后重新啟動mysqld!

3、可能是第二次在機器上安裝mysql,有殘余數據影響了服務的啟動。
解決方法:去mysql的二進制日志目錄看看,如果存在mysql-binlog.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
解決方法:先臨時改為警告模式:[root@www php]# setenforce 0
然后打開/etc/sysconfig/selinux,把SELINUX=enforcing改為SELINUX=disabled

8、啟動失敗注意檢查數據目錄的權限,要與mysql程序運行用戶權限一致。
[root@db01 mysql]# chown -R mysql.mysql ../mysql
最好是整個mysql程序目錄都授權予mysql用戶。

原文鏈接:https://blog.csdn.net/eagle89/article/details/79813405


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM