mysql sock error 또는 pid 어쩌고 에러로 실행안되는경우

1 minute read

[Errcode: 2] Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’

 

mysql 설치 후 실행 [root@localhost run]# /usr/local/bin/mysqld_safe –user=mysql &

 

에러 발생 [root@localhost run]# Starting mysqld daemon with databases from /usr/local/mysql/data/mysql STOPPING server from pid file /var/run/mysqld/mysqld.pid mysqld ended

 

에러 로그 확인 [root@localhost run]# vi /usr/local/mysql/data/localhost.localdomain.err

 

081223 10:13:54  mysqld started InnoDB: Log scan progressed past the checkpoint lsn 0 36808 081223 10:13:54  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 081223 10:13:54  InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percents: 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 081223 10:13:55  InnoDB: Started; log sequence number 0 43655 081223 10:13:55 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2) 081223 10:13:55 [ERROR] Can't start server: can't create PID file: No such file or directory 081223 10:13:55  mysqld ended

  확인 결과 /var/run/mysqld/mysqld.pid 를 생성하지 못해서 에러가 생김 처리 /var/run 아래에 mysqld 디렉토리 생성 후 소유권을 줌으로써 해결

 

[root@localhost run]# cd /var/run [root@localhost run]# mkdir mysqld [root@localhost run]# chown mysql mysqld [root@localhost run]# chgrp mysql mysqld

  처리 후 실행 및 프로세스 확인

 

[root@localhost run]# /usr/local/mysql/bin/mysqld_safe --user=mysql & [root@localhost run]# Starting mysqld daemon with databases from /var/lib/mysql
[root@localhost run]# ps -ef | grep mysql root      1979  1940  0 11:01 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql mysql     2007  1979  0 11:01 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock root      2019  1940  0 11:05 pts/1    00:00:00 grep mysql