Di Snow Leopard, memulai MySQL memberikan kesalahan berikut:
Server berhenti tanpa memperbarui file PID
my.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
Jawaban:
coba cari file log Anda dengan suffix ".err", harus ada info lebih lanjut. Mungkin di:
Mungkin masalah dengan izin
periksa apakah ada instance mysql sedang berjalan
jika ya, Anda harus menghentikannya, atau mematikan prosesnya
di mana
PID
nomor ditampilkan di sebelah nama pengguna pada output dari perintah sebelumnyaperiksa kepemilikan
/usr/local/var/mysql/
jika pemiliknya
root
Anda harus mengubahnyamysql
atauyour_user
sumber
Apakah Anda mengikuti instruksi dari
brew install mysql
?Siapkan basis data untuk dijalankan SEBAGAI AKUN PENGGUNA ANDA dengan:
Untuk mysql 5.x:
Untuk mengatur tabel dasar di folder lain, atau menggunakan pengguna lain untuk menjalankan mysqld, lihat bantuan untuk
mysqld_install_db
:dan lihat dokumentasi MySQL:
Untuk mysql 8.x:
Pastikan direktori data di
/usr/local/var/mysql
atas kosong, cadangan jika perlu.Untuk menjalankan sebagai, misalnya, pengguna "mysql", Anda mungkin perlu
sudo
:Mulai mysqld secara manual dengan:
Catatan: jika ini gagal, Anda mungkin lupa menjalankan dua langkah pertama di atas
sumber
sudo chown -R your_user /usr/local/var/mysql/
sama seperti jawabanmysqld_install_db
perintah memberi saya kesalahanmysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Saya memiliki masalah yang sama pada mesin Mac saya (diikuti dengan benar semua langkah instalasi yang disarankan oleh
brew install
).Menghapus file kesalahan yang diperbaiki untuk saya:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
adalah nama host saya)Ini berfungsi karena
dev.work.err
dimiliki oleh_mysql:wheel
alih-alih nama pengguna saya sendiri. CHOWN-ing file kesalahan mungkin akan memperbaikinya juga.sumber
Setelah reboot saya mengalami masalah yang sama. Inilah cara saya memperbaikinya:
sumber
sudo chown -R _mysql /usr/local/mysql/data
Ini bekerja untuk saya ...
Periksa semua proses MySQL yang sedang berjalan:
Kemudian bunuh semua proses yang terdaftar dari perintah di atas menggunakan yang berikut:
Ganti
[PID]
dengan PID individual dari daftar di atas, misalnya5970
.Lakukan itu untuk semua baris yang Anda lihat dengan perintah pertama.
Kemudian Anda dapat memulai kembali server MySQL Anda:
sumber
pkill mysql
untuk membunuh semua proses yang cocok dengan "mysql" (-9
tidak perlu dalam kebanyakan kasus)Kesalahan ini dapat terjadi ketika mencoba untuk memulai msql setelah itu tidak benar dimatikan.
Lihatlah file log kesalahan mysql. Jika itu menyebutkan sesuatu seperti "Periksa bahwa Anda belum memiliki proses mysqld lain menggunakan data atau file log yang sama." , maka Anda perlu mematikan proses itu dengan benar.
Lihat proses apa yang sedang dijalankan mysql, gunakan perintah ini:
lsof -i:3306
Output Anda akan terlihat seperti ini:
kill -15 4249
mysql.server start
sumber
File kesalahan saya juga memberi tahu saya bahwa port mungkin sedang digunakan oleh proses lain, tetapi hanya menjalankan
sudo mysql.server start
perbaikan masalah untuk saya.sumber
Cobalah untuk menghapus
ib_logfile0
danib_logfile1
file dan kemudian jalankan mysql lagiIni bekerja untuk saya.
sumber
.err
file di direktori yang sama, yang bekerja untuk saya.ib_log*.bak
Jika tidak ada jawaban yang membantu Anda, hapus saja folder
/usr/local/var/mysql
lalu instal mysql lagibrew reinstall mysql
.sumber
brew reinstall [email protected]
selesaikan.Saya baru-baru ini menemukan masalah ini, namun berhasil sebelumnya, lalu berhenti.
Ini karena saya awalnya memulai
mysql.server
sebagai root alih-alih saya sendiri.Cara mengatasinya adalah menghapus file err log (yang dimiliki oleh
_mysql
). Memulainya lagi berhasil.sumber
Bagi saya, saya harus menginstal ulang mysql
dan kemudian di bawah Untuk memiliki launchd mulai mysql sekarang dan restart saat login:
sumber
Solusi yang bekerja untuk saya ada di sini: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied
Mengubah beberapa izin saya sepertinya berhasil. Saya menjalankan Mid-2012 Macbook Air dengan OS X 10.8.2 dan mysql diinstal dengan homebrew.
sumber
Bagi saya perbaikannya sederhana:
menunjukkan bahwa mysqld sudah berjalan
lalu biarkan proses dimulai
sumber
Saya mengalami masalah ini ketika mencoba membuat pembaruan pada MacOS X 10.7.5.
Sayangnya mysql juga ditingkatkan menjadi 5.6.10 dari 5.5.14. Mencoba yang baru, tidak berhasil.
Saya memutuskan untuk kembali ke pengaturan lama saya dan melakukan
Ini tidak menyelesaikan masalah. Di tempat lain saya membaca dan melakukan ini, voila! Semua sudah kembali :)
sumber
brew upgrade mysql
dan kemudianbrew switch mysql 5.7.17
yang merupakan versi saya sebelumnya. Aneh!Saya menggunakan,
Saya Menginstal MySQL menggunakan homebrew ('brew install mysql'). Itu menginstal beberapa dependensi dan kemudian mysql.
Ketika saya mencoba untuk memulai,
Saya menjalankan perintah ini,
dan karya-karya MySQL.
Harap perhatikan bahwa Anda perlu menjalankan mysql_install_db dari bagian atas dengan direktori mysql (IE, usr / local / Cellar / mysql / 5.5.25). Menjalankannya langsung di direktori / script tidak memberikan konteks yang cukup untuk menjalankannya.
sumber
Bagi saya solusinya adalah menimpa / memperbaiki direktori data di / etc / my / cnf.
Saya membangun MySQL 5.5.27 dari sumber dengan arahan yang disediakan di file readme:
mysqld_safe mengakhiri sendiri tanpa penjelasan. berlari
/etc/init.d/mysql.server start
mengakibatkan kesalahan:"Server berhenti tanpa memperbarui file PID"
Saya melihat sesuatu yang aneh dalam instruksi instalasi. Kepemilikan berubah menjadi mysql untuk direktori "data", tetapi tidak untuk "var"; ini tidak biasa karena selama bertahun-tahun saya harus memastikan bahwa direktori var adalah mysql dapat ditulisi. Jadi saya berlari secara manual
chown -R mysql /usr/local/mysql/var
dan kemudian mencoba memulainya lagi. Masih belum berhasil. Tapi lebih buruknya, tidak ada file .err di dir var - itu ada di dir "data"! jadi skrip / mysql_install_db menyiapkan camp di / usr / local / mysql / var, tetapi aplikasi lainnya sepertinya ingin melakukan tugasnya di / usr / local / mysql / data!Jadi saya baru saja mengedit /etc/my.cnf dan di bawah bagian [mysqld] saya menambahkan arahan untuk secara eksplisit menunjuk direktori data mysql ke var (seperti yang biasanya saya harapkan bagaimana pun caranya), dan setelah melakukannya, mysqld memulai hanya baik. Arahan untuk menambahkan terlihat seperti ini:
datadir = / usr / local / mysql / var
Bekerja untukku. Semoga ini bisa membantu Anda.
sumber
Tampaknya proses MySQL sedang berjalan maka Anda tidak dapat menggunakan porta. Anda dapat memeriksa proses MySQL yang sedang berjalan menggunakan perintah berikut:
ps auxf | grep mysql
Jika Anda mendapatkan proses MySQL, bunuh ID proses itu menggunakan kill -9 PID dan kemudian coba mulai MySQL.
sumber
Mulai Mysql dalam mode aman
ATAU
di MAC End any
mysql
ormysqld
tugas (atau lainnya) dalam aplikasi Monitor Aktivitas Anda.atau periksa kesalahan Anda
sumber
Apa kata error log? Saya mendapatkan kesalahan ini, dan akhirnya menjadi pengaturan lama yang tidak valid di my.cnf, yang ditunjukkan oleh log kesalahan mysql. Jika bukan pengaturan konfigurasi yang buruk, log kesalahan setidaknya harus mengarahkan Anda ke arah yang benar.
Yah, saya berasumsi OP telah memperbaikinya pada saat ini ... tapi mudah-mudahan ini menunjukkan yang lain melihat kesalahan ini ke arah yang benar.
sumber
Dengan bantuan beberapa jawaban yang diposting di sini, saya dapat menemukan masalahnya
Pertama saya lari
sudo -i
Jadi saya bisa memiliki akses root.
Daripada saya menghapus file xxxx.err
rm -rf /usr/local/mysql/data/xxxx.err
setelah saya mulai MySQL di SafeMode
/usr/local/mysql/bin/mysqld_safe start
Itu akan mencoba untuk memulai dan akan keluar karena kesalahan ... file xxx.err baru akan dibuat dan Anda perlu membacanya untuk melihat penyebab kesalahan
tail -f /usr/local/mysql/data/mysqld.local.err
Dalam kasus saya, untuk beberapa alasan, itu hilang beberapa folder dan file di dalam
/var/log/
folder ... Jadi saya membuat keduanyacd /var/log
mkdir mysql
touch mysql-bin.index
Setelah file baru dibuat, Anda perlu mengubah izin
chown -R _mysql /var/log/mysql
Ketika semua langkah itu dilakukan, basis data saya mulai bekerja segera ...
Semoga ini bisa membantu orang lain di sini ... Kuncinya adalah membaca kesalahan dan masuk dan menemukan apa yang salah ...
sumber
Dalam kasus saya, kesalahan terjadi karena masalah pengaksesan file log kesalahan.
Dua perintah berikut membantu saya mengatasi masalah ini.
sumber
Saya harap ini berhasil untuk Anda.
Setelah memeriksa log kesalahan, saya menemukan ini:
Dan untuk mengatasinya, saya memberikan hak kepemilikan ke seluruh folder mysql:
Kemudian (Anda dapat melakukannya juga dengan command-line), saya menerapkan izin (setelah saya memberikan kepemilikan itu kepada pengguna _mysql dan mysql ) ke semua folder terlampir dari dalam menu "dapatkan info" folder di / usr / local / mysql -5.5.21-osx10.6-x86_64 . Anda tidak perlu mengatakan itu ke alias karena itu hanya alias.
Nama folder tergantung pada versi instalasi mysql yang Anda miliki.
sumber
Saya memiliki masalah yang sama. memindahkan file /etc/my.cnf saya berhasil untuk saya. Saya mendapat informasi di sini
sumber
Punya masalah yang sama, bagi saya itu melakukan menghapus minuman sementara memiliki instalasi mysqld sebelumnya berjalan. Tampaknya minuman tidak menghentikan layanan sebelum menghapus instalasi.
Setelah memeriksa file .err saya melihat kesalahan login bahwa salinan mysql lain dapat berjalan, setelah menghentikan layanan yang lama. Saya kemudian dapat me-restart instalasi mysql baru.
sumber
ls -latr /usr/local/var/mysql/
untuk menemukan file yang dimodifikasi terbaru, yang termasuk log kesalahan, kemudiantail -50 name.err
untuk melihat kesalahan, yang merupakan masalah dalam konfigurasi.ps aux | grep mysqld
dan kemudian menghentikan proses dengankill -9 [proccessid]
dan server mulai berhasilSederhana....
Perbaiki kesalahan MySQL Socket 2002
Memperbaiki kesalahan soket 2002 yang menjulang - yang menghubungkan tempat MySQL menempatkan soket dan di mana OSX berpikir seharusnya, MySQL meletakkannya di / tmp dan OSX mencarinya di / var / mysql soket adalah jenis file yang memungkinkan klien mysql / komunikasi server.
sudo mkdir / var / mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Sudah selesai dilakukan dengan baik : )
Ini Bantu Saya BANYAK! saya mengambil panduan ini dari orang-orang di http://coolestguidesontheplanet.com/
sumber
Coba ini..
cd YOURPATH/usr/local/mysql
rm -rf *.local.err
(menghapus file)touch YOURUSERNAME.local.pid
(menghasilkan file * .local.pid baru yang dikeluhkan oleh kesalahan)mysql.server start
sumber
error.log
file itu dimiliki oleh "_mysql" melempar kesalahan dalam log. Hanya ingin login yang memetikan orang lain yang memiliki masalah ini.150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
Entah bagaimana saya mengacaukan izin saya pada El Capitan dan memutuskan untuk menginstal ulang MySQL dari awal.
Saya menggunakan minuman pada el capitan, dan memutuskan untuk menginstal ulang:
Izin file pada instalasi baru berubah dari
_mysql
untuk memasukkan nama pengguna sayasumber
Periksa apakah Anda memiliki ruang yang tersisa di drive Anda. Saya mendapatkan masalah ini ketika tidak ada ruang tersisa di drive saya.
sumber
Masalahnya adalah izin satu, tidak bisa mulai karena tidak bisa menulis ke mac.err karena dimiliki oleh orang lain.
Pastikan folder / usr / local / var / mysql dimiliki oleh pengguna yang akan memulai mysql. Jika saya memulai mysql sebagai jack, semuanya baik. Namun, jika Anda memulainya sebagai root, itu akan membuat file mac.err (dimiliki oleh root) yang tidak dapat ditulisi oleh jack, jadi ketika Anda mencoba me-restart sebagai jack, ia akan gagal.
sumber
Dalam kasus saya, saya mendapatkan masalah ini di vps, cPanel .
Saya sudah mencoba sebagian besar jawaban di atas, tetapi tidak berhasil.
https://forums.cpanel.net/threads/mysql-is-not-running.407142/
sumber