buat instal mysql di macOS


343

Saya mencoba menyiapkan MySQL pada mac os 10.6 menggunakan Homebrew oleh brew install mysql 5.1.52.

Semuanya berjalan dengan baik dan saya juga sukses dengan mysql_install_db.
Namun ketika saya mencoba untuk terhubung ke server menggunakan:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

Saya mendapat:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: terhubung ke server di 'localhost' 
kesalahan gagal: 'Akses ditolak untuk pengguna' root '@' localhost '(menggunakan kata sandi: NO)'

Saya sudah mencoba mengaksesnya mysqladmin or mysql using -u root -prootjuga,
tetapi tidak berfungsi dengan atau tanpa kata sandi.

Ini adalah instalasi baru pada mesin baru dan sejauh yang saya tahu instalasi baru harus dapat diakses tanpa kata sandi root. Saya juga mencoba:

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

tapi saya juga mengerti

GALAT 1045 (28000): Akses ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: TIDAK)


Lihat juga: apple.stackexchange.com/a/199747/152271 ... ini bukan buatan pabrik, tetapi itu bekerja untuk saya ketika tidak ada jawaban di sini
sudo rm -rf slash

1
FWIW yang saya gunakan mysql -u rootdan berhasil di sini: |
rogerdpack

Jawaban:


683

Saya pikir seseorang dapat berakhir di posisi ini dengan versi mysql yang lebih lama sudah diinstal. Saya memiliki masalah yang sama dan tidak ada solusi di atas yang berfungsi untuk saya. Saya memperbaikinya demikian:

Perintah remove& cleanuppembuatan bir bekas , bongkar launchctlskrip, lalu hapus direktori mysql /usr/local/var, hapus yang ada /etc/my.cnf(biarkan yang terserah Anda, harus diterapkan) dan launchctl plist

Memperbarui string untuk daftar. Perhatikan juga direktori skrip keamanan alternatif Anda akan didasarkan pada versi MySQL yang Anda instal.

Selangkah demi selangkah:

brew remove mysql

brew cleanup

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /usr/local/var/mysql

Saya kemudian mulai dari awal:

  1. menginstal mysql dengan brew install mysql
  2. jalankan perintah brew yang disarankan: (lihat catatan: di bawah)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  3. Mulai mysql dengan mysql.server startperintah, untuk dapat login

  4. Menggunakan skrip keamanan alternatif:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
  5. Ikuti launchctlbagian dari output skrip paket pembuatan seperti,

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Catatan: yang --forcesedikit di brew cleanupkehendak juga tong usang pembersihan, berpikir itu fitur homebrew baru-ish.

Perhatikan yang kedua: seorang komentator mengatakan langkah 2 tidak diperlukan. Saya tidak ingin mengujinya, jadi YMMV!


30
Jawaban yang bagus, terima kasih! Satu hal untuk ditambahkan: Meskipun disebutkan dalam jawaban, saya melewatkannya dan dengan demikian kehilangan sekitar 6 jam mencoba untuk mengatur di Lion OSX. Pastikan Anda menghapus direktori mysql lama di / usr / local / var / mysql jika Anda memiliki versi MySql sebelumnya sebelum menginstal ulang. Kalau tidak, Anda tidak akan bisa masuk sebagai root pada awalnya untuk mengatur kata sandi dan Anda akan menghabiskan banyak waktu berteriak pada komputer Anda.
tronbabylove

3
masuk ke ~ / Library / LaunchAgents untuk melihat apa sebenarnya file .plist untuk mysql - dalam kasus saya ini diinstal oleh homebrew sehingga Anda perlu memodifikasi prosedur uninstall di atas.
Marco

7
Karena utas ini sudah lama, baris "launchctl unload" di atas sekarang salah. Instalasi file homebrew tidak lagi disebut "com.mysql.mysqld.plist", ini disebut "homebrew.mxcl.mysql.plist". Baris sekarang harus membaca "launchctl unload -w ~ / Library / LaunchAgents / homebrew.mxcl.mysql.plist"
Tommy

4
Saya punya `[~ / Library / LaunchAgents] $ ls com.adobe.ARM.202f4087f2bbde52e3ac2df389f53a4f123223c9cc56a8fd83a6f7ae.plist com.mysql.mysqld.plist com.facebook.plistpuspblpp/blog.plist/blog.plist/blog.plist/blp/blog.plist/ppl.blog / LaunchAgents` tetapi menurunkannya memberilaunchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
Ava

9
mysql_install_db sekarang dapat dihilangkan, buatan membuat server secara otomatis di directoy yang tepat.
rfreytag

52

Berikut adalah petunjuk terperinci yang menggabungkan cara menyingkirkan semua MySQL dari Mac Anda kemudian menginstalnya The Brew Way seperti yang ditulis Sedorner di atas:

Hapus MySQL sepenuhnya per Lab Teknologi

  • ps -ax | grep mysql
  • berhenti dan killproses MySQL apa pun
  • sudo rm /usr/local/mysql
  • sudo rm -rf /usr/local/var/mysql
  • sudo rm -rf /usr/local/mysql*
  • sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • sudo rm -rf /Library/StartupItems/MySQLCOM
  • sudo rm -rf /Library/PreferencePanes/My*
  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • edit /etc/hostconfigdan hapus barisMYSQLCOM=-YES-
  • rm -rf ~/Library/PreferencePanes/My*
  • sudo rm -rf /Library/Receipts/mysql*
  • sudo rm -rf /Library/Receipts/MySQL*
  • sudo rm -rf /private/var/db/receipts/*mysql*
  • sudo rm -rf /tmp/mysql*
  • Cobalah untuk berlari mysql, itu tidak akan berhasil

Brew menginstal MySQL per pengguna Sedorner dari jawaban StackOverflow ini

  • brew doctor dan memperbaiki kesalahan apa pun
  • brew remove mysql
  • brew cleanup
  • brew update
  • brew install mysql
  • unset TMPDIR

    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp # whoami is executed inline
  • mysql.server start

  • jalankan perintah yang disarankan Brew, tambahkan MySQL launchctlagar secara otomatis diluncurkan saat startup

mysql seharusnya sekarang bekerja dan berjalan sepanjang waktu seperti yang diharapkan

Hasil positif.


3
Saya juga digigit dengan melakukan semua hal di atas tanpa menghapus /tmp/mysql.sock terlebih dahulu.
TKH

Terima kasih, +1. Beberapa komentar: Anda berkata sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist, lalu beberapa langkah kemudian Anda mencoba launchctl unloadfile itu ... tetapi tidak akan ada di sana, karena Anda menghapusnya. Juga, brew install mysqljalankan mysql_install_dblangkah untuk saya, tidak perlu melakukannya dua kali.
Madbreaks

@ CorySimmons apakah ini berarti saya harus menggunakan nama saya sendiri, atau rootdi whoamibagian perintah Anda?
YPCrumble

1
Dikonfirmasi - whoami adalah nama saya (saya menggunakan root). Ini bekerja dengan baik.
YPCrumble

Catatan yang /etc/hostconfigtidak ada di Yosemite dan seterusnya ( superuser.com/questions/850974/… )
ecbrodie

44

Punya masalah yang sama. Sepertinya ada sesuatu yang salah dengan instruksi pengaturan atau tabel awal yang sedang dibuat. Ini adalah bagaimana saya menjalankan mysqld di komputer saya.

Jika server mysqld sudah berjalan di Mac Anda, hentikan dulu dengan:

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

Mulai server mysqld dengan perintah berikut yang memungkinkan siapa pun masuk dengan izin penuh.

mysqld_safe --skip-grant-tables

Kemudian jalankan mysql -u rootyang seharusnya membuat Anda berhasil login tanpa kata sandi. Perintah berikut harus mengatur ulang semua kata sandi root.

UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;

Sekarang jika Anda membunuh copy mysqld_safe yang sedang berjalan dan memulainya lagi tanpa opsi skip-grant-tables, Anda harus bisa login dengan mysql -u root -pdan kata sandi baru yang baru saja Anda atur.


Ini berhasil untuk saya! Saya mulai menebak kata sandi sebelum mencobanya juga dan kata sandinya akhirnya menjadi 'kata sandi'. Jadi coba itu.
cointilt

Meluncurkan mysqld_safe tanpa tabel hibah berfungsi untuk saya. Namun, UPDATE tidak berfungsi karena saya tidak memiliki catatan pada * pilih dari mysql.user; Karena kita sudah login sebagai root, kita cukup memasukkan satu untuk root dengan menjalankan GRANT ALL PRIVILEGES ON . UNTUK 'me-root' @ 'localhost' DIIDENTIFIKASI OLEH 'terserah'; PRIVILEGUS FLUSH;
Rupert

Saya menggunakan layanan berhenti / skrip, dan terus restart. Apakah itu karena saya tidak pernah membongkar LaunchAgent? (doh)
reneruiz

1
Apa yang berhasil bagi saya adalah sesuatu yang mirip dengan apa yang Anda buat. Pada bagian yang Anda perbarui kata sandi pengguna, saya harus membuat: use mysql; perbarui set pengguna Authent_string = kata sandi ('1111') di mana pengguna = 'root'; Seperti dalam: stackoverflow.com/a/31122246/1328261
ruhanbidart

16

Jika buatan menginstal MySQL 5.7, prosesnya sedikit berbeda dari versi sebelumnya. Untuk mengatur ulang kata sandi root, lakukan sebagai berikut:

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

Kata sandi sementara akan dicetak ke konsol dan hanya dapat digunakan untuk memperbarui kata sandi root:

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD

2
Saya dapat melihat kata sandi temp dihasilkan tetapi ketika saya mencoba menjalankan mysql, saya mendapatkan: ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXX.local.pid).dan ketika saya melakukan root mysql -u, kata sandi tidak diterima.
forloop

1
Saya berhasil menginstal mysql 5.7.9 menggunakan installer dmg yang meminta saya jendela yang menghasilkan kata sandi temp untuk saya. Dan sekarang mysqlberfungsi dengan benar. Sayang sekali saya harus menghabiskan banyak waktu hanya untuk membuatnya bekerja pada Macbook baru. : |
forloop

1
@ forloop 1. ps -ef | grep mysql 2. kill -9 pid 3. mysql.server start
oshaiken

bagi saya, pengaturan ulang / pengubahan kata sandi tidak berfungsi. Saya harus masuk ke mysql menggunakan kata sandi sementara kemudian jalankan perintah alter 1. mysql -u root -p <temp-password> 2.ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
Uji Tes

8

Oke saya punya masalah yang sama dan menyelesaikannya. Untuk beberapa alasan skrip mysql_secure_installation tidak berfungsi saat menggunakan Homebrew untuk menginstal mysql, jadi saya melakukannya secara manual. Pada CLI masukkan :

mysql -u root

Itu akan membuat Anda masuk ke mysql. Sekarang lakukan hal berikut (diambil dari mysql_secure_installation):

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

Sekarang keluar dan kembali ke mysql dengan: mysql -u root -p


1
Solusi ini tidak berfungsi untuk saya karena root mysql -u tidak membawa saya ke prompt mysql. Dikatakan Access ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: TIDAK)
Nick Vanderbilt

Apakah Anda sebelumnya menginstal MySQL pada mesin itu?
Darren Newton

8

Saya memiliki masalah yang sama tadi. Jika Anda brew info mysqldan ikuti langkah-langkahnya sepertinya password root seharusnya new-passwordjika saya ingat dengan benar. Saya melihat hal yang sama yang Anda lihat. Artikel ini paling membantu saya.

Ternyata saya tidak memiliki apapun akun yang dibuat untuk saya. Ketika saya masuk setelah menjalankan mysqld_safedan tidak select * from user;ada baris dikembalikan. Saya membuka MySQLWorkbench dengan mysqld_safemenjalankan dan menambahkan rootakun dengan semua privasi yang saya harapkan. Ini bekerja dengan baik untuk saya sekarang.


7

Jika mysql sudah diinstal

Hentikan mysql sepenuhnya.

  1. mysql.server stop <- mungkin perlu diedit berdasarkan versi Anda
  2. ps -ef | grep mysql <- daftar proses dengan mysql dalam namanya
  3. kill [PID] <- matikan proses dengan PID

Hapus file. Instruksi di atas bagus. Saya akan menambahkan:

  1. sudo find /. -name "*mysql*"
  2. Dengan menggunakan penilaian Anda, rm -rffile-file ini. Perhatikan bahwa banyak program memiliki driver untuk mysql yang tidak ingin Anda hapus. Misalnya, jangan hapus hal-hal di direktori pemasangan PHP. Hapus barang-barang di direktori mysql-nya sendiri.

Install

Semoga Anda punya homebrew. Jika tidak, unduh.

Saya suka menjalankan minuman sebagai root, tetapi saya pikir Anda tidak harus melakukannya. Sunting 2018: Anda tidak dapat lagi menjalankan bir sebagai root

  1. sudo brew update
  2. sudo brew install cmake <- ketergantungan untuk mysql, berguna
  3. sudo brew install openssl <- ketergantungan untuk mysql, berguna
  4. sudo brew info mysql <- membaca sepintas lalu ... ini memberimu beberapa ide tentang apa yang akan terjadi selanjutnya
  5. sudo brew install mysql --with-embedded; say done<- Menginstal mysql dengan server tertanam. Memberitahu Anda kapan selesai (instalasi saya membutuhkan waktu 10 menit)

Setelah itu

  1. sudo chown -R mysql /usr/local/var/mysql/ <- mysql tidak akan bekerja untukku sampai aku menjalankan perintah ini
  2. sudo mysql.server start <- sekali lagi, sintaks yang tepat dapat bervariasi
  3. Buat pengguna di mysql ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). Ingatlah untuk menambahkan kata sandi untuk pengguna root.

3

info pembuatan mysql

mysql: stable 5.6.12 (bottled)
http://dev.mysql.com/doc/refman/5.6/en/
Conflicts with: mariadb, mysql-cluster, percona-server
/usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb
==> Dependencies
Build: cmake
==> Options
--enable-debug
    Build with debug support
--enable-local-infile
    Build with local infile loading support
--enable-memcached
    Enable innodb-memcached support
--universal
    Build a universal binary
--with-archive-storage-engine
    Compile with the ARCHIVE storage engine enabled
--with-blackhole-storage-engine
    Compile with the BLACKHOLE storage engine enabled
--with-embedded
    Build the embedded server
--with-libedit
    Compile with editline wrapper instead of readline
--with-tests
    Build with unit tests
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To reload mysql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

mysql.service mulai

. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

atau root mysql -u

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Saya mencari solusi untuk beberapa waktu tetapi saya tidak bisa menyelesaikan masalah saya. Saya mencoba beberapa solusi di stackoverflow.com tetapi tidak ada yang membantu saya.


4
Coba jalankan sudo chown -R mysql /usr/local/var/mysql/sebelum menjalankan mysql.server startjika Anda menjalankan mysql.serversebagai root (saat mulai menggunakan pengguna root, server MySQL menurunkan versi ke _mysqlpengguna).
Rarylson Freitas

Hai, apakah Anda menemukan solusi untuk masalah ini?
KcC0

omg, jumlah pertanyaan dan 1.000 jawaban baris untuk masalah ini ... pikir saya hanya akan brew install redistbh
Danyal Aytekin

3

TL; DR

Server MySQL mungkin tidak berjalan setelah instalasi dengan Brew. Coba brew services start mysqlatau hanya mysql.server startjika Anda tidak ingin MySQL dijalankan sebagai layanan latar belakang.

Cerita lengkap:

Saya baru saja menginstal MySQL (stable) 5.7.17 pada MacBook Pro baru yang menjalankan Sierra dan juga mendapat kesalahan saat menjalankan mysql_secure_installation:

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Katakan apa?

Menurut info instalasi dari Brew, mysql_secure_installationharus meminta saya untuk ... mengamankan instalasi. Saya pikir server MySQL mungkin tidak berjalan dan memang demikian. Berlari brew services start mysqldan kemudian mysql_secure_installationbekerja seperti pesona.


1

Coba dengan memberikan izin Berikan Perintah mysql


masalahnya adalah bahwa saya tidak dapat mengakses server mysql sama sekali setelah instalasi oleh minuman. Saya dapat memulainya, tetapi itu tidak akan membiarkan saya masuk sebagai root dengan atau tanpa kata sandi. (Oleh karena itu saya tidak dapat membuat pengguna lain atau mengelola izin .. atau apakah saya tidak mengerti Anda benar?
nikola

1

Tidak satu pun dari jawaban di atas (atau salah satu dari puluhan jawaban yang saya lihat di tempat lain) bekerja untuk saya ketika menggunakan minuman dengan versi terbaru mysql dan yosemite. Saya akhirnya menginstal versi mysql berbeda melalui minuman.

Menentukan versi yang lebih lama dengan mengatakan (misalnya)

brew install mysql56

Bekerja untukku. Semoga ini bisa membantu seseorang. Ini adalah masalah yang membuat saya frustasi karena saya terjebak selamanya.


Ya, ini akan berhasil, tetapi jika Anda ingin menginstal MySQL 5.7 (seperti yang saat ini dilakukan oleh brew install mysql), Anda dapat mengikuti arahan dalam jawaban saya stackoverflow.com/a/33924648/133106
mrucci

1

Berikut ini adalah pembaruan untuk MySQL 5.7

bash --versi
GNU bash, versi 4.4.12 (1) -release (x86_64-apple-darwin17.0.0)
Hak Cipta (C) 2016 Free Software Foundation, Inc.
Lisensi GPLv3 +: GNU GPL versi 3 atau lebih baru 

Ini adalah perangkat lunak gratis; Anda bebas untuk mengubah dan mendistribusikannya kembali.
TIDAK ADA GARANSI, sejauh diizinkan oleh hukum.

# ========================================
buat - versi
Homebrew 1.7.6
Homebrew / homebrew-core (revisi git eeb08; komit terakhir 2018-09-27)
Homebrew / homebrew-tong (revisi git c9f62; komit terakhir 2018-09-27)

# ========================================
mysql --versi
mysql Ver 14.14 Distrib 5.7.23, untuk osx10.13 (x86_64) menggunakan EditLine wrapper

# ========================================
system_profiler SPSoftwareDataType
Perangkat lunak:

    Ikhtisar Perangkat Lunak Sistem:

      Versi Sistem: macOS 10.13.3 (17D47)
      Versi Kernel: Darwin 17.4.0
      Volume Booting: Macintosh HD
      Mode Boot: Normal
      Nama Komputer: EdisonMacHomeBj
      Nama Pengguna: Edison (edison)
      Memori Virtual Aman: Diaktifkan
      Perlindungan Integritas Sistem: Dinonaktifkan
      Waktu sejak boot: 6 hari 23:13
buatan hapus mysql@5.7
brew cleanup
mv / usr / local / var / mysql /usr/local/var/mysql.bak
buatan install mysql@5.7
rm -rf / usr / local / var / mysql

# ========================================
mysqld - menginisialisasi
2018-09-28T04: 54: 06.526061Z 0 [Peringatan] TIMESTAMP dengan nilai DEFAULT implisit sudah tidak digunakan lagi. Silakan gunakan opsi server --explicit_defaults_for_timestamp (lihat dokumentasi untuk detail lebih lanjut).
2018-09-28T04: 54: 06.542625Z 0 [Peringatan] Pengaturan lower_case_table_names = 2 karena sistem file untuk / usr / local / var / mysql / tidak sensitif huruf besar-kecil
2018-09-28T04: 54: 07.096637Z 0 [Peringatan] InnoDB: File log baru dibuat, LSN = 45790
2018-09-28T04: 54: 07.132950Z 0 [Peringatan] InnoDB: Membuat tabel sistem batasan kunci asing.
2018-09-28T04: 54: 07.196824Z 0 [Peringatan] Tidak ada UUID yang ditemukan, jadi kami menganggap ini adalah pertama kalinya server ini dimulai. Membuat UUID baru: 87cf2f10-c2da-11e8-ac2d-ba163df10130.
2018-09-28T04: 54: 07.224871Z 0 [Peringatan] Tabel gtid belum siap digunakan. Tabel 'mysql.gtid_executed' tidak dapat dibuka.
2018-09-28T04: 54: 07.366688Z 0 [Peringatan] CA sertifikat ca.pem ditandatangani sendiri.
2018-09-28T04: 54: 07.457954Z 1 [Catatan] Kata sandi sementara dihasilkan untuk root @ localhost: kq3K = JR8; GqZ

# ========================================
mysql_secure_installation -uroot -p "kq3K = JR8; GqZ"
mysql_secure_installation: [Peringatan] Menggunakan kata sandi pada antarmuka baris perintah bisa jadi tidak aman.

Mengamankan penyebaran server MySQL.


Kata sandi yang ada untuk root akun pengguna telah kedaluwarsa. Silakan tentukan kata sandi baru.

Kata sandi baru:

Masukkan kembali kata sandi baru:

VALIDATE PASSWORD PLUGIN dapat digunakan untuk menguji kata sandi
dan meningkatkan keamanan. Ia memeriksa kekuatan kata sandi
dan memungkinkan pengguna untuk hanya mengatur kata sandi tersebut
cukup aman. Apakah Anda ingin memasang plugin VALIDATE PASSWORD?

Tekan y | Y untuk Ya, tombol lain untuk Tidak: n
Menggunakan kata sandi yang ada untuk root.
Ubah kata sandi untuk root? ((Tekan y | Y untuk Ya, tombol lain untuk Tidak): y

Kata sandi baru:

Masukkan kembali kata sandi baru:
Secara default, instalasi MySQL memiliki pengguna anonim,
memungkinkan siapa saja untuk masuk ke MySQL tanpa harus memilikinya
akun pengguna dibuat untuk mereka. Ini dimaksudkan hanya untuk
pengujian, dan untuk membuat instalasi berjalan lebih lancar.
Anda harus menghapusnya sebelum beralih ke produksi
lingkungan Hidup.

Hapus pengguna anonim? (Tekan y | Y untuk Ya, tombol lain untuk Tidak): y
Keberhasilan.


Biasanya, root hanya diperbolehkan untuk terhubung
'localhost'. Ini memastikan bahwa seseorang tidak dapat menebak
kata sandi root dari jaringan.

Larang login root dari jarak jauh? (Tekan y | Y untuk Ya, tombol lain untuk Tidak): n

 ... melompat-lompat.
Secara default, MySQL dilengkapi dengan database bernama 'test' itu
siapa pun dapat mengakses. Ini juga dimaksudkan hanya untuk pengujian,
dan harus dihapus sebelum pindah ke produksi
lingkungan Hidup.


Hapus database pengujian dan akses ke sana? (Tekan y | Y untuk Ya, tombol lain untuk Tidak): n

 ... melompat-lompat.
Reload tabel privilege akan memastikan semua perubahan
dibuat sejauh ini akan segera berlaku.

Muat ulang tabel privilege sekarang? (Tekan y | Y untuk Ya, tombol lain untuk Tidak): y
Keberhasilan.

Semua selesai!

ketika menyalin semua database dari "mysql.bak" itu tidak berfungsi :(
Jahirul Islam Mamun

1

Hanya untuk menambahkan sesuatu ke jawaban sebelumnya - Saat memutakhirkan dari MySql 5.6 ke MySql 8.0, saya mengikuti langkah-langkah yang diberikan di sini untuk membuat penghapusan instalasi yang bersih, namun saya mengalami kesalahan berikut

2019-11-05T07:57:31.359304Z 0 [ERROR] [MY-000077] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld: Error while setting value 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2019-11-05T07:57:31.359330Z 0 [ERROR] [MY-013236] [Server] The designated data directory /usr/local/var/mysql is unusable. You can remove all files that the server added to it.
2019-11-05T07:57:31.359413Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-11-05T07:57:31.359514Z 0 [Note] [MY-010120] [Server] Binlog end

Butuh waktu untuk memikirkannya. Menemukan petunjuk di sini: https://discourse.brew.sh/t/clean-removal-of-mysql/2251

Jadi, kunci masalah saya adalah menghapus file /usr/local/etc/my.cnf setelah dihapus. Setelah satu langkah terakhir, MySql akhirnya mulai bekerja.


0

Saya memiliki masalah yang sama setelah saya mencoba me-restart mysql.

Saya menggunakan dua alias berikut di profil saya untuk kenyamanan

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

Setelah menghentikan mysql dan kemudian mencoba untuk memulai kembali saya mengalami masalah yang Anda alami. Saya melihat ke load launchctl dan melaporkan kesalahan "tidak ditemukan memuat".

Setelah pencarian cepat saya menemukan ini ..

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/

Jadi saya memperbarui saya mysql-startalias sebagai berikut

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

Ini menyelesaikan masalah saya yang mungkin berguna bagi Anda.


2
Brew sekarang mendukung servicesperintah, sehingga ini dapat diganti dengan brew services stop mysqldan brew services start mysqlmasing - masing.
devstuff

0

"Base-Path" untuk Mysql disimpan di /etc/my.cnfmana tidak diperbarui ketika Anda membuat upgrade. Cukup buka dan ubah nilai baseir

Misalnya, ubah ini:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

untuk menunjuk ke versi baru:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

Mulai ulang mysql dengan:

mysql.server start
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.