Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Homebrew MySQL 8.0.18 di macOS 10.15 Catalina tidak akan berjalan sebagai layanan

Jangan pernah menggunakan sudo dengan perintah brew . Ini akan merusak kepemilikan file terkait. Menjalankan brew sebagai root tidak didukung. (Saya sedang berbicara tentang brew , bukan mysqld )

Kutipan dari dokumen Homebrew

Peringatan dari kode sumber brew

check-run-command-as-root() {
  ...
  odie <<EOS
Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
EOS
}

Solusi

  1. Nonaktifkan layanan dan hapus launchdaemon.

    # stop and unload the launchdaemon
    sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
    # remove the lauchdaemon file
    sudo rm -f /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
    sudo rm -f /tmp/mysql.sock /tmp/mysqlx.sock
    
  2. Perbaiki kepemilikan file terkait homebrew

    # For x86 Mac
    sudo chown -R "$(whoami):admin" /usr/local/*
    # For M1 Mac
    sudo chown -R "$(whoami):admin" /opt/homebrew/*
    # it will take some time
    
  3. Aktifkan kembali layanan MySQL.

    # DO NOT USE "sudo brew"
    brew services start mysql
    

Perbarui :

Sepertinya beberapa dari Anda tidak akrab dengan Homebrew. Saya akan menjelaskan bagaimana Homebrew mengelola layanan di sini.

mysqld mendengarkan di port 3306 secara default, yang bukan merupakan port istimewa. Jadi tidak perlu memulai mysqld dengan akar. systemd memulai mysqld dengan root di Linux, tetapi macOS bukan Linux.

Homebrew mengelola layanan dengan bantuan launchd , yang merupakan jenis systemd alternatif di macOS. launchd memulai proses latar depan dan mengelolanya untuk Anda, seperti systemd tidak.

brew services start/stop mysql akan mencukupi kebutuhan Anda. Itu membuat file launchd ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist , memulai mysqld dengan itu (dijalankan oleh pengguna saat ini).

/usr/local/mysql/support-files/mysql.server adalah skrip shell yang dibawa oleh MySQL untuk membantu Anda memulai mysqld . Menggunakannya secara langsung tidak disarankan kecuali Anda membangun MySQL dari sumber luar buatan sendiri. Jika Anda menggunakan Homebrew, cukup gunakan brew services . Atau ucapkan dengan cara lain, jika Anda menggunakan Homebrew, Anda harus melakukan sesuatu dengan cara Homebrew.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengimpor file csv ke meja kerja MySQL?

  2. C# Parameterized Query MySQL dengan klausa `in`

  3. Buat fungsi tersimpan MySQL dengan sejumlah argumen yang dinamis

  4. Django models.py Kunci Asing Melingkar

  5. Dapatkan semua anak dengan id orang tua dan klausa di mana di mysql