今天MySQL,出了点小问题。遂记之。现描述如下:
启动MySQL
./bin/mysqld_safe --user=mysql &
莫名其妙的出现这一行:
mysqld_safe mysqld from pid file /usr/local/mysql/data/mark.pid ended
根据经验,一定是没有启动MySQL,果然netstat -na | more没有看到3306
查看错误日志:
cd /usr/local/mysql/data cat mark.err
////////////////////////////////////////////////////////////////////////////////////////////////// 110510 09:59:40 mysqld_safe mysqld from pid file /usr/local/mysql/data/mark.pid ended 110510 10:01:16 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 110510 10:01:16 [Note] Plugin 'FEDERATED' is disabled. 110510 10:01:16 InnoDB: The InnoDB memory heap is disabled 110510 10:01:16 InnoDB: Mutexes and rw_locks use InnoDB's own implementation 110510 10:01:16 InnoDB: Compressed tables use zlib 1.2.3 110510 10:01:16 InnoDB: Using Linux native AIO 110510 10:01:16 InnoDB: Initializing buffer pool, size = 128.0M 110510 10:01:16 InnoDB: Completed initialization of buffer pool 110510 10:01:16 InnoDB: highest supported file format is Barracuda. 110510 10:01:16 InnoDB: Waiting for the background threads to start 110510 10:01:17 InnoDB: 1.1.6 started; log sequence number 1610190 /usr/local/mysql/bin/mysqld: File './mysql-bin.000006' not found (Errcode: 13) 110510 10:01:17 [ERROR] Failed to open log (file './mysql-bin.000006', errno 13) 110510 10:01:17 [ERROR] Could not open log file 110510 10:01:17 [ERROR] Can't init tc log 110510 10:01:17 [ERROR] Aborting 110510 10:01:17 InnoDB: Starting shutdown... 110510 10:01:18 InnoDB: Shutdown completed; log sequence number 1610190 110510 10:01:18 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete /////////////////////////////////////////////////////////////////////////////////////////////////
解决办法:
看到Failed to open log (file './mysql-bin.000006', errno 13)然后,
cd /usr/local/mysql/data rm -f mysql-bin.*
ok,搞定!
再次启动,成功。
嘿嘿,/usr/local/mysql/data下面终于出现 mark.pid.
造成这种原因是因为突然断电或者强制关机,没有正常退出MySQL。只是估计。
还有一种情况导致这个错误的发生:
修改了 /etc/my.cnf 文件(这个文件是从 mysql 安装目录ln -s 过来的,具体可以看http://blog.youkuaiyun.com/androidbluetooth/article/details/6394301),比如说修改 mysql 默认字符集编码等。
如果出现类似上述现象,请将该文件恢复到原来的内容,按照前面所说的删除mysql-bin.*文件,再次启动 mysql 即可!