"Snow Leopard" sistemoje paleidus "MySQL" gaunama tokia klaida:
Serveris baigė darbą neatnaujinęs PID failo.
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
pid-file=/var/run/mysqld/mysqld.pid
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
pabandykite rasti savo žurnalo failą su priesaga ".err", ten turėtų būti daugiau informacijos. Ji gali būti:
/usr/local/var/mysql/your_computer_name.local.err
Tikriausiai tai leidimų problema
ps -ef | grep mysql
jei taip, turėtumėte jį sustabdyti arba nužudyti procesą
kill -9 PID
kur PID
yra numeris, rodomas šalia vartotojo vardo ankstesnės komandos išvestyje
/usr/local/var/mysql/
nuosavybęls -laF /usr/local/var/mysql/
jei jo savininkas yra root
, turėtumėte pakeisti jį į mysql
arba your_user
sudo chown -R mysql /usr/local/var/mysql/
Ką rašo klaidų žurnalas? Aš gavau šią klaidą ir galiausiai paaiškėjo, kad tai buvo senas neteisingas nustatymas my.cnf, kurį nurodė mysql klaidų žurnalas. Jei ne blogas konfigūracijos nustatymas, klaidų žurnalas bent jau turėtų nurodyti teisingą kryptį.
Na, manau, kad šiuo metu OP ją nustatė... bet tikiuosi, kad tai nurodo kitiems, matantiems šią klaidą, teisinga kryptimi.
Tikiuosi, kad tai jums padės.
Patikrinęs klaidų žurnalą, radau štai ką:
120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended
Kad ją išspręstumėte, suteikiau nuosavybės teises į visą mysql aplanką:
cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64
Tada (galite tai padaryti ir komandinėje eilutėje) pritaikiau teises (kai tik suteikiau šią nuosavybę _mysql ir mysql naudotojams) visiems uždarytiems aplankams iš "get info" meniu aplanko /usr/local/mysql-5.5.21-osx10.6-x86_64 . Jums nereikia to įrašyti į slapyvardį, nes tai tik slapyvardis.
Aplanko pavadinimas priklauso nuo jūsų turimos mysql diegimo versijos.