entos7.3配置mysql5.6無法啟動和重啟報錯:Job for mysqld.service failed because a timeout was exceeded.
嘗試用root登錄MySQL是報錯ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
分別使用systemctl status mysqld.service和journalctl -xe查看服務啟動失敗的原因,但是都不具體
不妨打開MySQL的告警日志cat /var/log/mysqld.log
解決辦法
1.查看當前的my.cnf配置文件 、vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysq
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2.由於編譯安裝時指定的路徑為/opt/data以及mysql_install_db時指定的datadir也為/opt/data,而my.cnf為缺省的路徑
將datadir=/var/lib/mysql改為datadir=/opt/data
保存退出,重啟服務
代碼塊
報錯:
[shaoyun@iz ~]$ systemctl status mysqld.service
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: activating (start-post) since Tue 2018-09-11 13:34:41 CST; 1min 56s ago
Process: 23331 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
Process: 23319 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 23331 (code=exited, status=0/SUCCESS); : 23332 (mysql-systemd-s)
CGroup: /system.slice/mysqld.service
└─control
├─23332 /bin/bash /usr/bin/mysql-systemd-start post
└─23866 sleep 1
[shaoyun@iz ~]$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[shaoyun@iz ~]$ systemctl stop mysqld.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
[shaoyun@iz ~]$ systemctl start mysqld.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
Job for mysqld.service failed because a timeout was exceeded. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[shaoyun@iz2ze26or99k31zvb6qo0mz ~]$ systemctl status mysqld.service
● mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: activating (start-post) since Tue 2018-09-11 14:11:31 CST; 55s ago
Process: 30713 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
Process: 30701 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 30713 (code=exited, status=0/SUCCESS); : 30714 (mysql-systemd-s)
CGroup: /system.slice/mysqld.service
└─control
├─30714 /bin/bash /usr/bin/mysql-systemd-start post
└─30993 sleep 1
[shaoyun@iz ~]$
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
我踩過的坑
1.刪除 、/etc/my.cnf文件
2.在my.cnf中添加
server-id=1
expire_logs_days=7
log-bin=mysql-bin
3.操作文件的權限不夠
4.卸掉mysql5.6重新裝
5.等等
my.cnf的截圖
非常感謝下邊兩位的博客,參考如下:
1:https://blog.csdn.net/leshami/article/details/41801395
2:https://blog.csdn.net/moxiaomomo/article/details/52982938
————————————————
版權聲明:本文為CSDN博主「xiaohanwang」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiaohanwang/article/details/82627514