mysql无法正常启动

mysql无法正常启动

安装mysql后一直没有做什么改动,使用用户mysql启动,一切都很正常。但是今天我运行了这个命令之后,启动就出现了问题:
[root@xhw root]# /usr/opt/mysql/bin/mysqladmin -u root password root
我把mysql关掉:
[root@xhw root]# /usr/opt/mysql/bin/mysqladmin -u root -p shutdown
然后启动:
[root@xhw root]# /usr/opt/mysql/bin/safe_mysqld --user=mysql &
[1] 1286
[root@xhw root]# Starting mysqld daemon with databases from /usr/opt/mysql/var
nohup: appending output to `nohup.out'
021108 20:52:52  mysqld ended

[1]+  Done                    /usr/opt/mysql/bin/safe_mysqld --user=mysql

[root@xhw root]$ cat /usr/opt/mysql/bin/nohup.out

Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
021108 21:03:28  Aborting

021108 21:03:28  /usr/opt/mysql/libexec/mysqld: Shutdown Complete

必须得到用户mysql的shell下才能启动:
[mysql@xhw mysql]$ /usr/opt/mysql/bin/safe_mysqld &
[1] 2014
[mysql@xhw mysql]$ Starting mysqld daemon with databases from /usr/opt/mysql/var
nohup: appending output to `nohup.out'

在/var/log/messages中没有关于mysql启动关闭的纪录。然后连接mysql server都正常。
使用ps -ef看到mysql的进程:
mysql     2363  2326  0 21:09 pts/0    00:00:00 /bin/sh /usr/opt/mysql/bin/safe_
mysql     2370  2363  0 21:09 pts/0    00:00:00 /usr/opt/mysql/libexec/mysqld --
mysql     2373  2370  0 21:09 pts/0    00:00:00 /usr/opt/mysql/libexec/mysqld --
mysql     2374  2373  0 21:09 pts/0    00:00:00 /usr/opt/mysql/libexec/mysqld --(这里好像不对,我记得原来应该在“--”后面还有参数的。)

xhw.home.com.err文件很长,但基本上都是这么一条:
021108 21:09:01  mysqld started
/usr/opt/mysql/bin/safe_mysqld: --datadir=/usr/opt/mysql/var: No such file or directory
021108 21:09:01  mysqld ended
可是/usr/opt/mysql/var明明是存在的呀:
drwx------    5 mysql    mysql        4096 11月  8 21:09 var

现在/etc/rc.local中的开机自动启动mysql的语句就不起作用了,mysql不能自动运行。
请问这是什么原因造成的?另外怎么修改mysql的系统管理员账户呢?

谢谢!      
可能是改了某些目录的权限或是什么的,不过你的mysql装的也到是很奇怪,能装到那个目录下去
你可以用在rc.local里改脚本,su - mysql -c "/usr/opt/mysql/bin/safe_mysqld --user=mysql"
完成启动。      
请问你是怎样安装mysql