MySql server startup kesalahan 'server berhenti tanpa memperbarui file PID '

Di Snow Leopard, mulai MySQL memberikan error berikut:

server berhenti tanpa memperbarui file PID

saya.cnf

[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
Mengomentari pertanyaan (7)

cobalah untuk menemukan log file dengan akhiran ".err", harus ada info lebih lanjut. Mungkin di:

/usr/local/var/mysql/your_computer_name.lokal.err

It's mungkin masalah dengan izin

  1. periksa jika ada mysql contoh berjalan

ps -ef | grep mysql

jika ya, anda harus menghentikannya, atau membunuh proses

kill -9 PID

di mana PID adalah nomor yang ditampilkan di samping nama pengguna pada output dari perintah sebelumnya

  1. periksa kepemilikan /usr/local/var/mysql/

ls -laF /usr/local/var/mysql/

jika pemilik dengan root anda harus mengubah itu mysql atau your_user

sudo chown -R mysql /usr/local/var/mysql/

Komentar (18)

Apakah anda mengikuti petunjuk dari brew install mysql?

Menyiapkan database untuk menjalankan SEBAGAI AKUN PENGGUNA ANDA dengan:

Untuk mysql 5.x:

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Untuk mendirikan basis tabel di folder lain, atau menggunakan user yang berbeda untuk menjalankan mysqld, lihat bantuan untuk mysqld_install_db:

mysql_install_db --help

dan melihat dokumentasi MySQL:

Untuk mysql 8.x:

unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Pastikan data-data di direktori /usr/local/var/mysql di atas kosong, cadangan jika diperlukan.

Untuk menjalankan seperti, misalnya, pengguna "mysql", anda mungkin perlu untuk sudo:

sudo mysql_install_db ...options...

Mulai mysqld secara manual dengan:

mysql.server start

Catatan: jika gagal, anda mungkin lupa untuk menjalankan dua langkah pertama di atas

Komentar (15)

Saya memiliki masalah yang sama pada mesin Mac (benar mengikuti semua langkah-langkah instalasi yang disarankan oleh brew install).

Menghapus file error tetap untuk saya:

sudo rm -rf /usr/local/var/mysql/dev.bekerja.err (dev.bekerja adalah hostname)

Ini bekerja karena dev.bekerja.err dimiliki _mysql:roda bukan saya sendiri pengguna. CHOWN-ing file error mungkin akan tetap itu juga.

Komentar (10)

Setelah reboot saya memiliki masalah yang sama. Berikut adalah bagaimana saya tetap itu:

 sudo chown -R _mysql /usr/local/var/mysql
Komentar (10)

Ini bekerja untuk saya...

Memeriksa semua proses MySQL berjalan:

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

Kemudian membunuh semua proses yang tercantum di atas menggunakan perintah berikut:

$ sudo kill -9 [PID]

Ganti [PID] dengan individu PID dari daftar di atas, misal 5970.

Apakah itu untuk semua baris yang anda lihat dengan perintah pertama.

Kemudian anda dapat startup server MySQL anda lagi:

mysql.server start
Komentar (1)

Kesalahan saya file yang bilang juga bahwa port dapat digunakan oleh proses lain, tetapi hanya menjalankan sudo mysql.server start tetap masalah untuk saya.

Komentar (4)

Kesalahan ini dapat terjadi ketika mencoba untuk memulai msql setelah itu tidak benar shutdown.

  1. Lihatlah mysql error log file. Jika ia menyebutkan sesuatu seperti "Periksa bahwa anda tidak sudah memiliki satu mysqld proses menggunakan data yang sama atau file-file log.", maka anda perlu untuk benar shutdown proses itu.

  2. Melihat proses apa mysql berjalan pada, gunakan perintah ini: lsof-i:3306

Output anda harus terlihat seperti ini:

COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld  4249 username   17u  IPv4 0x7843d9d130469c0b      0t0  TCP localhost:mysql (LISTEN)
  1. Menghentikan proses yang sedang berjalan mysql: membunuh -15 4249

Membunuh -15 mengirimkan siganl untuk proses untuk membebaskan sumber-sumber itu adalah penguncian dan menghentikan proses setelah.

  1. Sekarang mysql harus startup dengan tidak ada masalah: mysql.server start
Komentar (1)

Jika tidak ada yang menjawab membantu anda, hanya menghapus folder /usr/local/var/mysql dan kemudian menginstal mysql lagi brew install ulang mysql.

Komentar (2)

Cobalah untuk menghapus ib_logfile0 dan ib_logfile1 file dan kemudian jalankan mysql lagi

rm /usr/local/var/mysql/ib_logfile0
rm /usr/local/var/mysql/ib_logfile1

Ia bekerja untuk saya.

Komentar (2)

Saya baru-baru menemukan masalah ini, namun ia bekerja sebelumnya, kemudian berhenti.

Hal ini karena awalnya saya mulai mysql.server sebagai root **** bukan diriku sendiri.

Perbaikan itu untuk menghapus err file log (yang dimiliki oleh _mysql). Mulai lagi punya itu berlalu.

Komentar (1)

Solusi yang bekerja untuk saya adalah berikut: https://serverfault.com/questions/334284/cant-create-pid-file-on-mysql-server-permission-denied

Mengubah beberapa izin yang tampaknya untuk melakukan trik. I'm menjalankan Pertengahan 2012 Macbook Air dengan OS X 10.8.2 dan mysql diinstal dengan homebrew.

chmod 0755 /var
chown root:wheel /var/tmp
sudo chmod 0771 /usr/local/var/mysql/*
Komentar (0)

Bagi saya, saya harus install ulang mysql

brew reinstall mysql

dan kemudian di bawah ini Untuk memiliki launchd mulai mysql sekarang dan restart pada login:

brew services start mysql
Komentar (0)

Bagi saya perbaikan itu sederhana:

top

menunjukkan bahwa mysqld sudah berjalan

sudo killall mysqld 

kemudian diizinkan proses untuk memulai

Komentar (0)

Saya punya masalah ketika mencoba untuk menyeduh upgrade pada MacOS X 10.7.5.

Sayangnya mysql juga ditingkatkan untuk 5.6.10 dari 5.5.14. Mencoba yang baru, tidak bekerja.

Aku memutuskan untuk kembali ke old setup dan melakukan

brew switch mysql 5.5.14

Hal ini tidak memecahkan masalah. Di tempat lain saya baca dan lakukan ini, voila! Semua itu kembali :)

cd /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
Komentar (1)

Bagi saya, solusinya adalah untuk mengganti/memperbaiki data direktori di /etc/my/cnf.

Saya membangun MySQL 5.5.27 dari sumber dengan petunjuk yang disediakan dalam file readme:


# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions

# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

mysqld_safe dihentikan sendiri tanpa penjelasan. berjalan /etc/init.d/mysql.server start mengakibatkan kesalahan:

"server berhenti tanpa memperbarui file PID"

Aku melihat sesuatu yang aneh dalam petunjuk instalasi sekalipun. Ia memiliki kepemilikan berubah menjadi mysql untuk direktori "data", tapi tidak untuk "var"; ini adalah tidak biasa karena selama bertahun-tahun saya harus memastikan bahwa var direktori mysql yang dapat ditulisi. Jadi saya secara manual berlari chown -R mysql /usr/local/mysql/var dan kemudian berusaha untuk memulai lagi. Masih tidak berhasil. Tapi lebih buruk, tidak ada .err file dalam var dir - itu di "data" dir! jadi script/mysql_install_db mendirikan kamp di /usr/local/mysql/var, tapi sisa dari aplikasi yang tampaknya ingin melakukan tugasnya di /usr/local/mysql/data!

Jadi saya hanya edit /etc/my.cnf dan di bawah bagian [mysqld] saya menambahkan directive untuk secara eksplisit titik mysql's data direktori var (seperti yang biasanya saya berharap untuk menjadi salah bagaimana), dan setelah melakukannya, mysqld start baik-baik saja. Direktif untuk menambahkan terlihat seperti ini:

datadir = /usr/local/mysql/var

Bekerja untuk saya. Semoga bermanfaat untuk anda.

Komentar (0)

I'm menggunakan,

Saya Menginstal MySQL menggunakan homebrew ('minuman menginstal mysql'). Itu dipasang beberapa dependensi dan kemudian mysql.

Ketika saya mencoba untuk memulainya,

west$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/west.local.pid).

Saya menjalankan perintah ini,

west$ /usr/local/Cellar/mysql/5.5.25/scripts/mysql_install_db 

dan MySQL bekerja.

Harap perhatikan bahwa anda perlu untuk menjalankan mysql_install_db dari dengan tingkat atas dari direktori mysql (YAITU, usr/local/Gudang/mysql/5.5.25). Berjalan langsung di dalam /script direktori tidak memberikan cukup konteks untuk menjalankannya.

Komentar (1)

Mulai Mysql dalam mode aman

/usr/local/mysql/bin/mysqld_safe start

ATAU

pada MAC akhir-Akhir ini mysql atau mysqld tugas (atau lainnya) dalam Aktivitas anda Memonitor aplikasi.

atau memeriksa kesalahan dengan anda

tail -f /usr/local/mysql/data/XXXXX-XXXXX-Pro.local.err
Komentar (0)

Tampaknya bahwa MySQL proses ini berjalan maka anda dapat menggunakan port. Anda dapat memeriksa menjalankan MySQL menggunakan perintah berikut:

ps auxf | grep mysql

Jika anda mendapatkan MySQL proses membunuh proses yang menggunakan ID kill -9 PID dan kemudian mencoba untuk memulai MySQL.

Komentar (1)

Apa's log kesalahan katakan? Aku punya kesalahan ini, dan akhirnya menjadi tua tidak valid pengaturan pada saya.cnf, yang mysql error log yang ditunjukkan. Jika tidak buruk config setting, error log setidaknya harus mengarahkan anda dalam arah yang benar.

Nah, saya menganggap OP tetap memiliki itu pada titik ini... tapi mudah-mudahan ini titik yang lain melihat ini kesalahan dalam arah yang benar.

Komentar (0)

Dengan bantuan dari beberapa jawaban yang diposting di sini, saya mampu menemukan masalah

Pertama saya menjalankan

sudo -i

Jadi saya bisa memiliki akses root.

Dari yang saya dihapus xxxx.err file

rm -rf /usr/local/mysql/data/xxxx.err

setelah saya mulai MySQL di SafeMode

/usr/local/mysql/bin/mysqld_safe start

Ia akan mencoba untuk memulai dan akan keluar karena suatu kesalahan... baru xxx.err file yang akan dibuat dan anda perlu untuk baca ini untuk melihat penyebab kesalahan

tail -f /usr/local/mysql/data/mysqld.lokal.err

Pada kasus saya, untuk beberapa alasan, itu hilang beberapa folder dan file di dalam/var/log/` folder... Jadi saya buat investasi

cd /var/log

mkdir mysql

touch mysql-bin.index

Setelah file yang baru dibuat, dari yang anda butuhkan untuk mengubah izin

chown -R _mysql /var/log/mysql

Ketika semua langkah-langkah di mana diambil, database saya mulai bekerja segera...

Harap ini dapat membantu orang lain di sini... kuncinya adalah untuk membaca kesalahan dan log dan menemukan apa yang salah...

Komentar (0)