Saya baru saja menginstal MySQL di Mac OS X. Langkah selanjutnya adalah mengatur kata sandi pengguna root, jadi saya melakukan ini selanjutnya:
- Buka aplikasi terminal untuk mengakses baris perintah Unix.
Di bawah prompt Unix saya menjalankan perintah-perintah ini:
$ cd /usr/local/mysql/bin $ ./mysqladmin -u root password 'password'
Tapi, ketika saya menjalankan perintah
$ ./mysql -u root
, ini jawabannya:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Saya bisa masuk ke mysql
baris perintah tanpa kata sandi!
Kenapa ini?
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
sebagai gantinya.'password'
di sisi kanan persamaanERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Jika Anda tidak ingat kata sandi yang Anda setel untuk root dan perlu meresetnya, ikuti langkah-langkah ini:
sudo mysqld_safe --skip-grant-tables;
mysql -u root
Untuk MySQL yang lebih lama dari MySQL 5.7 gunakan:
UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';
Untuk MySQL 5.7+ gunakan:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';
Segarkan dan keluar:
FLUSH PRIVILEGES;
\q
sumber
password
harusauthentication_string
sekarang.UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
, seperti kata @Scott.sudo kill
Tidak berfungsi karena Mac OSx akan secara otomatis meluncurkan kembali msql baru secara instan. Setelah saya menghentikan mysql menggunakan panel preferensi, saya dapat menjalankan secara manualmysqld_safe --skip-grant-tables
Setelah menginstal MySQL, Anda harus membuat kata sandi "root". Jika Anda tidak membuat kata sandi root, maka, well, tidak ada kata sandi root, dan Anda tidak perlu kata sandi untuk login.
Jadi, yang dikatakan, Anda perlu membuat kata sandi root.
Menggunakan terminal masukkan yang berikut ini:
Instalasi: Tetapkan kata sandi pengguna root:
Jika Anda melakukan kesalahan, atau perlu mengubah kata sandi root, gunakan yang berikut ini:
Ubah kata sandi root:
sumber
update user set authentication_string=PASSWORD("NEW_PASSWORD_HERE") where User='root';
daripada menggunakanset password=...
Instruksi yang disediakan di situs web mysql sangat jelas, daripada yang disebutkan di atas
$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
/usr/local/mysql/bin/mysql
exit
atau Ctrl + z$ sudo /usr/local/mysql/support-files/mysql.server stop
$ sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/support-files/mysql -u root -p
Referensi: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
sumber
Hentikan server mysqld.
System Preferences
>MySQL
>Stop MySQL Server
sudo systemctl stop mysqld.service
Mulai server dalam mode aman dengan memotong hak istimewa
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
Di jendela terminal baru :
sudo /usr/local/mysql/bin/mysql -u root
Ini akan membuka baris perintah mysql. Dari sini masukkan:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
quit
Hentikan server mysqld lagi dan mulai ulang dalam mode normal.
sudo /usr/local/mysql/support-files/mysql.server restart
sudo systemctl restart mysqld
sumber
Untuk Mysql 5.7 baru karena beberapa alasan, perintah bin dari Mysql tidak dilampirkan pada shell:
Nyalakan kembali Mac setelah menginstal.
Mulai Mysql:
Preferensi Sistem> Mysql> Tombol Mulai
Pergi ke folder install Mysql di terminal:
$ cd /usr/local/mysql/bin/
Akses ke Mysql:
$ ./mysql -u root -p
dan masukkan kata sandi awal yang diberikan untuk instalasi.
Di terminal Mysql ubah kata sandi:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';
sumber
Di terminal, tulis
mysql -u root -p
dan tekan Return. Masukkan kata sandi mysql saat ini yang harus Anda catat. Dan atur kata sandinyaSET PASSWORD = PASSWORD('new_password');
Silakan lihat dokumentasi ini di sini untuk detail lebih lanjut.
sumber
Jika Anda lupa kata sandi root MySQL, tidak bisa mengingat atau ingin masuk ... Anda dapat mengatur ulang kata sandi database mysql dari baris perintah di Linux atau OS X selama Anda tahu kata sandi pengguna root dari kotak tersebut. Anda berada di:
(1) Hentikan MySQL
(2) Mulai dalam mode aman:
(3) Ini akan menjadi perintah yang sedang berlangsung sampai proses selesai jadi buka jendela shell / terminal lain , masuk tanpa kata sandi:
Pada perintah UPDATE di atas hanya ganti 'kata sandi' dengan kata sandi baru Anda sendiri, pastikan untuk menyimpan tanda kutip
(4) Hemat dan cukup
(5) Mulai MySQL
sumber
Ketika saya menginstal OS X Yosemite, saya mendapat masalah dengan Mysql. Saya mencoba banyak metode tetapi tidak ada yang berhasil. Saya sebenarnya menemukan cara yang cukup mudah. Coba ini.
sudo su
sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
sumber
Metode yang disebutkan dalam jawaban yang ada tidak berfungsi untuk mysql 5.7.6 atau yang lebih baru. Menurut dokumentasi mysql ini adalah cara yang disarankan.
B.5.3.2.3 Mengatur Ulang Kata Sandi Root: Instruksi Umum
MySQL 5.7.6 dan yang lebih baru:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Referensi: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
sumber
Jika Anda tidak dapat mengingat kata sandi Anda, jawaban @ radtek bekerja untuk saya kecuali dalam kasus saya, saya telah menyiapkan MySQL menggunakan minuman yang berarti bahwa langkah 1 dan 2 dari jawabannya harus diubah menjadi:
/usr/local/bin/mysql.server stop
/usr/local/bin/mysqld_safe --skip-grant-tables
Catatan: kurangnya
sudo
.sumber
Saya pikir ini harus berhasil:
(Perhatikan bahwa Anda mungkin harus mengganti root dengan nama pengguna Anda jika itu bukan root)
sumber
Menghentikan Server MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
Mulai MySQL dalam mode aman
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Mengubah kata sandi root
/usr/local/mysql/bin/mysql -u root
Pengujian
Lari
/usr/local/mysql/bin/mysql -u root
Sekarang masukkan kata sandi baru untuk mulai menggunakan MySQL.
sumber
Inilah yang sebenarnya bekerja untuk saya:
Pastikan tidak ada proses MySQL lain yang sedang berjalan. Untuk memeriksa ini lakukan hal berikut:
Mulai MySQL dengan perintah:
Kata sandi untuk setiap pengguna disimpan di tabel mysql.user di bawah kolom Pengguna dan otentikasi_string masing-masing. Kami dapat memperbarui tabel sebagai:
sumber
macOS 10.14+ dengan 5.7.26 diinstal dari installer Mac OSX DMG.
Saat mencoba menggunakan perintah UPDATE yang diposting oleh pengguna lain menghasilkan kesalahan berikut:
GALAT 1820 (HY000): Anda harus mengatur ulang kata sandi Anda menggunakan pernyataan ALTER USER sebelum menjalankan pernyataan ini.
Salin kata sandi yang disajikan kepada Anda oleh Installer open terminal dan lakukan hal berikut:
sumber
Coba ini di terminal:
/usr/local/bin/mysql_secure_installation
sumber
Untuk referensi MySQL 8.0.15 +, fungsi kata sandi () tidak tersedia. Gunakan perintah di bawah ini.
Silakan gunakan
sumber
Jika Anda lupa kata sandi atau ingin mengubahnya ke mysql Anda:
di mana "new_password" - pass baru Anda. Anda tidak perlu pass lama untuk mysql.
sumber
Banyak yang berubah untuk MySQL 8. Saya telah menemukan modifikasi berikut dari dokumentasi MySQL 8,0 "Cara Mereset Kata Sandi Root" bekerja dengan Mac OS X.
Buat file temp
$HOME/mysql.root.txt
dengan SQL untuk memperbarui kata sandi root:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<new-password>';
Ini digunakan
mysql_native_password
untuk menghindari plugin Otentikasi 'caching_sha2_password' tidak dapat dimuat kesalahan, yang saya dapatkan jika saya menghilangkan opsi.Hentikan server, mulai dengan
--init-file
opsi untuk mengatur kata sandi root, lalu mulai ulang server:mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start
sumber
Mari kita tambahkan solusi ini yang berfungsi di laptop saya!
Mac dengan Osx Mojave 10.14.5
Mysql 8.0.17 diinstal dengan homebrew
Saya menjalankan perintah berikut untuk menemukan path mysql
brew info mysql
Setelah path diketahui, saya menjalankan ini:
/usr/local/Cellar/mysql/8.0.17/bin/mysqld_safe --skip-grant-table
Di terminal lain saya jalankan:
mysql -u root
Di dalam terminal itu, saya mengubah kata sandi root menggunakan:
update mysql.user set authentication_string='NewPassword' where user='root';
dan untuk menyelesaikan saya jalankan:
FLUSH PRIVILEGES;
Dan voila kata sandi telah diatur ulang.
Referensi :
sumber
Anda dapat secara manual mematikan mysql di Mac, dengan mengklik menu Apple dan membuka System Preferences. Pilih panel preferensi “MySQL”, lalu klik tombol “Stop MySQL Server” untuk menghentikan Server MySQL di Mac.
Setelah Anda menghentikan mysql Anda, Anda harus mengikuti langkah-langkah ini.
Kemudian Anda dapat pergi ke menu Apple dan membuka System Preferences. Pilih panel preferensi “MySQL”, lalu klik tombol “Stop MySQL Server” untuk menghentikan Server MySQL di Mac.
Akhirnya Anda dapat kembali ke menu Apple dan membuka System Preferences. Pilih panel preferensi "MySQL", lalu klik tombol "Start MySQL Server" untuk memulai MySQL Server pada Mac.
Semoga itu bisa membantu
sumber
Tidak ada komentar sebelumnya yang menyelesaikan masalah di Mac saya. Saya menggunakan perintah di bawah ini dan itu berhasil.
sumber
Entah bagaimana saya perlu melakukan ini setiap kali Macbook saya restart. Posting ini untuk referensi pribadi, semoga membantu orang lain juga.
sumber