Saya memiliki pertengahan 2013 MBA yang menjalankan OSX 10.9.
Proses yang dimulai pada setiap start up adalah mysqld
. Saya percaya itu dari versi lama MySQL yang saya instal (melalui AMPPS ). Saya kemudian menginstal MAMP Pro dan saya sering mengalami konflik antara kedua proses ini. Setiap kali saya mematikan dan me-restart mac saya, saya harus menemukan proses mysqld
yang sedang berjalan (pada monitor aktivitas), berhenti, dan kemudian mulai MAMP (melalui perintah terminal: /Application/MAMP/bin/startMysql.sh
tidak akan bekerja dari tempat lain).
Jadi saya bertanya-tanya bagaimana saya bisa menonaktifkan ini mysqld
agar tidak berjalan di setiap startup.
ps
untuk melacak proses induk dan melihat apa yang mulaimysqld
?Jawaban:
Buka terminal, lalu:
Di mana "xxx.xxx" termasuk dalam output dari perintah pertama, misalnya "org.macports.mysql". Kata sandi untuk perintah "sudo" adalah kata sandi akun pengguna Anda sendiri.
Benar, sudo tidak diperlukan untuk "daftar" tetapi karena Anda sudah memberikan kata sandi sudo untuk perintah pertama, sudo disimpan untuk sementara waktu dalam memori sesi dan tidak diperlukan untuk perintah kedua (yang diistimewakan). Jika tidak, lewati saja sudo pada perintah pertama dan gunakan pada perintah kedua. Ada banyak cara selain menguliti kucing.
sumber
sudo launchctl list | grep -i mysql
tidak menghasilkan apa-apa. Tidak jugasudo launchctl list | grep -i mysqld
i.imgur.com/WZ5EVjw.pngJika versi MySQL yang sebelumnya diinstal berasal dari halaman Unduhan Komunitas MySQL di situs SUN / Oracle, kemungkinan itu
launchd
tidak terlibat dengan memulaimysqld
proses. Untuk beberapa alasan, skrip startup yang didistribusikan dengan MySQL menggunakan teknologi "Startup items" yang sudah tidak digunakan lagi untuk memulai proses saat boot. Bahkan, bahkan distribusi biner saat ini (5.6.15)mysqld
menggunakan StartupItems untuk memulai server pada OS X (?!)Skrip startup yang meluncurkan versi MySQL yang bertentangan kemungkinan besar terletak di
/Library/StartupItems/MYSQLCOM/MYSQLCOM
. Pada saat boot, item startup itu akan memeriksa file di/etc/hostconfig
untuk menentukan apakah pengaturan untuk variabel "MYSQLCOM" diatur ke "-YES-". Jika demikian, skrip startup akan diluncurkanmysqld
.Seharusnya dimungkinkan untuk menonaktifkan startup MySQL dengan memodifikasi baris
/etc/hostconfig
yang menentukanMYSQLCOM=-YES-
untuk mengatakanMYSQLCOM=-NO-
(yang harus menonaktifkan proses startup pada boot berikutnya).Anda dapat menghentikan instance yang sedang berjalan
mysqld
dengan melakukan perintah:Untuk secara permanen menonaktifkan startup dari proses yang salah
mysqld
, harus dimungkinkan untuk menghentikan daemon menggunakan perintah di atas, dan kemudian untuk menghapus item startup MySQL menggunakan perintah berikut:Catatan: Anda mungkin juga menginstal Panel Preferensi MySQL di
/Library/PreferencePanes/MySQL.prefpane
atau~/Library/PreferencePanes/MySQL.prefpane
... Panel preferensi itu juga dapat dihapus ke bagian 'pembersihan' dari instalasi MySQL yang lama.sumber
sudo /Library/StartupItems/MYSQLCOM/MYSQLCOM stop
tidak menghasilkan apa pun juga: i.imgur.com/ukHtW5x.pngBerikut ini berfungsi untuk saya dengan mysql
8.0.12
diinstal menggunakan Homebrew dimacOS Mojave 10.14.1
:sumber
Mungkin lebih mudah untuk mengubah nama mysqld (atau memindahkan / mencadangkan / menghapusnya) dan kemudian memulai kembali dan mencari pesan kesalahan untuk item peluncuran yang mencoba memulai program yang tidak lagi tersedia.
Jawaban lain tampaknya mencakup taktik mencari Agen Peluncuran dan Peluncuran Daemon serta melacak PID yang umumnya tidak bekerja untuk daemon karena mereka biasanya memiliki PID induk 1.
Juga, karena mysql tidak dikirimkan bersama Mavericks, Anda harus dapat melacak paket instal yang Anda pilih atau gunakan
mdfind mysqld
untuk menemukan paket yang membawa database itu ke Mac Anda dan kemudian menemukan instruksi uninstall / disable untuk paket mysql itu. Anda juga ingin melihat preferensi sistem jika Anda telah menginstal kontrol di sana untuk memulai perangkat lunak.sumber
mdfind mysqld
tidak menampilkan file MySQL terkait AMPPS, hanya file terkait MAMP (dan beberapa lainnya dari kedua program MySQL yang telah saya instal seperti MySQL Workbench)Mulailah dengan mencari tahu apa proses induk yang memulai mysql Anda. Dari Terminal jalankan
ps
perintah untuk mencari tahu apa prosesnya; Anda dapat menggunakan-j
atau-l
untuk mencantumkan id indukppid
. Jadi ini akan menunjukkan kepada Anda:Kolom pertama adalah userid Anda, yang kedua adalah id proses, yang ketiga adalah id induk.
Jika id induk adalah 1 maka itu akan diluncurkan oleh daemon peluncuran root, yang mungkin berarti itu berasal dari salah satu LaunchDaemons atau StartupItems. Jika itu berasal dari proses yang bukan 1 tetapi itu adalah proses launchd maka itu mungkin LaunchAgents atau ada di item masuk sistem Anda.
Jadi proses 1 diluncurkan oleh startup sistem, dan apa pun dengan proses induk 1 berasal dari daemon sistem. Apa pun (dalam hal ini) dengan proses induk 257 sedang diluncurkan dari salah satu LaunchAgents atau LoginItems.
Ingatlah bahwa nama daemon peluncuran atau item startup tidak harus memiliki 'mysql' dalam judul - itu bisa dijalankan oleh program atau item login yang berbeda (jadi mencarinya dengan nama mungkin tidak menemukannya) . Setelah Anda menemukan apa yang telah diluncurkan, Anda mungkin dapat mengetahui dari mana asalnya.
sumber