[oot@cent65 bin]# service mysqld startStarting MySQL.2019-10-28T15:56:47.786960Z mysqld_safe error: log-error set to '/data/log/mysqld.log', however f ...
[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