原来准备弄一下主从复制,去修改了my.cnf文件。
结果 service mysqld start 的时候发现启动不了,报
centos: Another MySQL daemon already running with the same unix socket
去stackoverflow查了一下,说需要查看my.cnf,找到 mysql.sock然后删掉。
一句话可以做到
rm $(grep socket /etc/my.cnf | cut -d= -f2) && service mysqld start
运行该命令后发现还是不行。查看my.cnf后发现
1 [mysqld] 2 datadir=/var/lib/mysql 3 socket=/var/lib/mysql/mysql.sock 4 user=mysql 5 6 server-id=12 7 log-bin=/var/lib/mysql/log/mysql-bin.log 8 # Disabling symbolic-links is recommended to prevent assorted security risks 9 symbolic-links=0
11 [mysqld_safe]
12 log-error=/var/log/mysqld.log
13 pid-file=/var/run/mysqld/mysqld.pid
原来是第七行, 我的 /var/lib/mysql/这个文件夹里面没有 log 这个文件夹。
增加了这个文件夹之后启动成功。
反思一下:启动不了,我第一反应是查百度或者google。其实我的解决思路是错的。我应该首先查日志才对。实际上,现在的linux各种软件一般都会有日志记录软件的启动或者出错等信息,我却用了windows的思维去解决linux遇到的问题。实在该打。
果然 /var/log/mysqld.log上就记载着 /usr/libexec/mysqld: File '/var/lib/mysql/log/mysql-bin.index' not found
引以为戒。