啟動mysql時報錯的解決(mysql 5.0.45 redhat as 43)

lawzjf發表於2008-01-13

啟動mysql時報錯:

Starting mysqld daemon with databases from /var/lib/mysql
STOPPING server from pid file /var/run/mysqld/mysqld.pid
071112 00:22:06 mysqld ended

檢視日誌:

#less /var/log/mysqld.log

其中有一段如下:


071112 0:22:06 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
071112 0:22:06 [ERROR] Can't start server: can't create PID file: No such file or directory
071112 00:22:06 mysqld ended

#cd /var/run/
#ls


mysqld目錄不存在,建立它:


#mkdir /var/run/mysqld
#cd /var/run/mysqld


建立檔案mysqld.pid:


#touch mysqld.pid
#cd..
#chown -R mysql mysqld .

#cd /usr/local/mysql/
#bin/mysqld_safe --user=mysql &
nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql

能正常啟動

#bin/mysqladmin -u root password root

又出錯

[root@localhost mysql]# bin/mysqladmin -u root password root
bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

[root@localhost mysql]# bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

分析:是/tmp/mysql.sock 不存在


# cd /var/lib/mysql/

由於mysql 預設的mysql.sock 是在/var/lib/mysql/mysql.sock,建立符號連線:


# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
# bin/mysql -u root
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.45 MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql>

修改root 密碼


#cd /usr/local/mysql/
#bin/mysqladmin -u root -p password yourpassword

一切ok。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/37724/viewspace-152665/,如需轉載,請註明出處,否則將追究法律責任。

相關文章