MySQL服务器没有启动

我有一台运行CentOS 5.5 x86_64的服务器,并且最近通过YUM安装了MySQL服务器,但是在启动服务器时,我得到:

[root@server etc]# service mysqld start
Warning: World-writable config file '/etc/my.cnf' is ignored
Warning: World-writable config file '/etc/my.cnf' is ignored
Warning: World-writable config file '/etc/my.cnf' is ignored
Warning: World-writable config file '/etc/my.cnf' is ignored
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]

我的my.cnf如下所示:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我的mysqld.log如下所示:

111228 10:47:50 mysqld started
Warning: World-writable config file '/etc/my.cnf' is ignored
InnoDB: Log scan progressed past the checkpoint lsn 0 36808
111228 10:47:51 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 43655
111228 10:47:51 InnoDB: Starting an apply batch of log records to the database... InnoDB:百分比进度: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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
111228 10:47:51 InnoDB: Started; log sequence number 0 43655
111228 10:47:51 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host'不存在
111228 10:47:51 mysqld结束了

任何人都可以指出为什么这是发生?

首先修复/etc/my.cnf的权限。 由于它被忽略,你的mysql实例无法finddatadirvariables指定的数据库目录。 如果这不起作用,那么你可以运行以下命令来告诉mysql你的数据库的path。

 mysql_install_db --user=mysql --ldata=/var/lib/mysql/ 

我将开始解决错误消息警告你的问题:

 Warning: World-writable config file '/etc/my.cnf' is ignored 

例如:

 chmod 0640 /etc/my.cnf 

然后尝试开始它,看看它是什么。

您需要将文件权限设置为最多644。 我注意到脚本在写入“世界”时会发疯。

如果你遇到类似的问题,但有目录,你需要设置为755。