清楚/var/log 目录后,更新内核,第二天使用时发现mysql不能使用。
情况如下:
系统版本:ubuntu13.04
root@ubuntu:/var/log/mysql# service mysql start
start: Job failed to start
root@ubuntu:/var/log/mysql# service mysql stop
stop: Unknown instance:
root@ubuntu:/var/log/mysql# service mysql restart
stop: Unknown instance:
start: Job failed to start
root@ubuntu:/var/log/mysql# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。
在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。
每次执行完 /usr/bin/mysqld_safe & 命令后,根据其提示错误进行修改
root@ubuntu:/var/log# /usr/bin/mysqld_safe &
[1] 6047
root@ubuntu:/var/log# 140213 11:15:11 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140213 11:15:11 mysqld_safe Logging to '/var/log/mysql/error.log'.
touch: 无法创建"/var/log/mysql/error.log": 没有那个文件或目录
chmod: 无法访问"/var/log/mysql/error.log": 没有那个文件或目录
140213 11:15:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/bin/mysqld_safe: 126: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
/usr/bin/mysqld_safe: 1: eval: cannot create /var/log/mysql/error.log: Directory nonexistent
140213 11:15:11 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
/usr/bin/mysqld_safe: 126: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
root@ubuntu:/var/log# /usr/bin/mysqld_safe &
[2] 6683
[1] 退出 2 /usr/bin/mysqld_safe
root@ubuntu:/var/log# 140213 11:19:21 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140213 11:19:21 mysqld_safe Logging to '/var/log/mysql/error.log'.
140213 11:19:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:19:21 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
^C
[1] 7389
root@ubuntu:/var/log# 140213 11:26:33 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140213 11:26:33 mysqld_safe Logging to '/var/log/mysql/error.log'.
140213 11:26:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:26:33 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
exit
administrator@ubuntu:~$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
administrator@ubuntu:~$ ^C
administrator@ubuntu:~$
[1] 6047
root@ubuntu:/var/log# 140213 11:15:11 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140213 11:15:11 mysqld_safe Logging to '/var/log/mysql/error.log'.
touch: 无法创建"/var/log/mysql/error.log": 没有那个文件或目录
chmod: 无法访问"/var/log/mysql/error.log": 没有那个文件或目录
140213 11:15:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/bin/mysqld_safe: 126: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
/usr/bin/mysqld_safe: 1: eval: cannot create /var/log/mysql/error.log: Directory nonexistent
140213 11:15:11 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
/usr/bin/mysqld_safe: 126: /usr/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
root@ubuntu:/var/log# /usr/bin/mysqld_safe &
[2] 6683
[1] 退出 2 /usr/bin/mysqld_safe
root@ubuntu:/var/log# 140213 11:19:21 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140213 11:19:21 mysqld_safe Logging to '/var/log/mysql/error.log'.
140213 11:19:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:19:21 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
^C
[2]+ 完成 /usr/bin/mysqld_safe
//
此时根据情况,可以打开error.log文件查看详细错误。
root@ubuntu:/var/log# /usr/bin/mysqld_safe &
[1] 7389
root@ubuntu:/var/log# 140213 11:26:33 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
140213 11:26:33 mysqld_safe Logging to '/var/log/mysql/error.log'.
140213 11:26:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:26:33 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
exit
administrator@ubuntu:~$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
administrator@ubuntu:~$ ^C
administrator@ubuntu:~$
分别根据
/usr/bin/mysqld_safe & 命令后提示做出的操作包括在/var/log下创建mysql目录以及修改/etc/mysql/my.cnf配置文件。
root@ubuntu:/var/log# mkdir mysql
root@ubuntu:/var/log# ls
apache2 boot.log dmesg.1.gz mail.err postgresql ufw.log
apport.log ConsoleKit dpkg.log mail.log syslog unattended-upgrades
apport.log.1 cups kern.log mysql syslog.1 Xorg.0.log
apt dmesg landscape news tallylog Xorg.0.log.old
auth.log dmesg.0 lightdm pm-powersave.log udev
root@ubuntu:/var/log# cd mysql
root@ubuntu:/var/log/mysql# ls
error.log
root@ubuntu:/var/log/mysql# vim error.log
root@ubuntu:/var/log/mysql# cd /etc/mysql
root@ubuntu:/etc/mysql# ls
[1]+ 已停止 vim my.cnf
root@ubuntu:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@ubuntu:/etc/mysql# cd -
/var/log/mysql
root@ubuntu:/var/log/mysql# ls
error.log
root@ubuntu:/var/log/mysql# cd -
/etc/mysql
root@ubuntu:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@ubuntu:/etc/mysql# fg
vim my.cnf
mysql start/running, process 7922
root@ubuntu:/etc/mysql# mysql
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 127
Server version: 5.5.34-0ubuntu0.13.04.1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
140213 11:19:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:19:21 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
140213 11:19:21 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
140213 11:19:21 [ERROR] Aborting
140213 11:19:21 [Note] /usr/sbin/mysqld: Shutdown complete
140213 11:19:21 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
140213 11:26:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:26:33 [Warning] option 'slow_query_log': boolean value '/var/log/mysql/mysql-slow.log' wasn't recognized. Set to OFF.
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
140213 11:26:33 [ERROR] Aborting
140213 11:26:33 [Note] /usr/sbin/mysqld: Shutdown complete
140213 11:26:33 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
root@ubuntu:/var/log# ls
apache2 boot.log dmesg.1.gz mail.err postgresql ufw.log
apport.log ConsoleKit dpkg.log mail.log syslog unattended-upgrades
apport.log.1 cups kern.log mysql syslog.1 Xorg.0.log
apt dmesg landscape news tallylog Xorg.0.log.old
auth.log dmesg.0 lightdm pm-powersave.log udev
root@ubuntu:/var/log# cd mysql
root@ubuntu:/var/log/mysql# ls
error.log
root@ubuntu:/var/log/mysql# vim error.log
root@ubuntu:/var/log/mysql# cd /etc/mysql
root@ubuntu:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
//修改配置文件
root@ubuntu:/etc/mysql# vim my.cnf
[1]+ 已停止 vim my.cnf
root@ubuntu:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@ubuntu:/etc/mysql# cd -
/var/log/mysql
root@ubuntu:/var/log/mysql# ls
error.log
root@ubuntu:/var/log/mysql# cd -
/etc/mysql
root@ubuntu:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@ubuntu:/etc/mysql# fg
vim my.cnf
[1]+ 已停止 vim my.cnf
//经过多次调整后尝试启动mysql服务
root@ubuntu:/etc/mysql# service mysql start
mysql start/running, process 7922
root@ubuntu:/etc/mysql# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
//尝试链接mysql
root@ubuntu:/etc/mysql# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 127
Server version: 5.5.34-0ubuntu0.13.04.1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
错误日志文件
error.log
140213 11:19:21 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:19:21 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
140213 11:19:21 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
140213 11:19:21 [ERROR] Aborting
140213 11:19:21 [Note] /usr/sbin/mysqld: Shutdown complete
140213 11:19:21 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
140213 11:26:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140213 11:26:33 [Warning] option 'slow_query_log': boolean value '/var/log/mysql/mysql-slow.log' wasn't recognized. Set to OFF.
/usr/sbin/mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13)
140213 11:26:33 [ERROR] Aborting
140213 11:26:33 [Note] /usr/sbin/mysqld: Shutdown complete
140213 11:26:33 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended