Saya baru saja menginstal MySQL pada Mac OS X. langkah berikutnya adalah setting password root, jadi yang saya lakukan berikutnya ini:
$ cd /usr/local/mysql/bin $ ./mysqladmin -u root password 'kata'
Tapi, ketika saya jalankan 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
command line tanpa password!
Mengapa ini?
Coba perintah FLUSH PRIVILEGES
ketika anda login ke MySQL terminal. Jika itu doesn't bekerja, cobalah set berikut perintah sementara di terminal MySQL
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
Mengganti NEWPASSWORD dengan sandi apapun yang anda inginkan. Harus siap!
Update: Sesuai MySQL 5.7, password
lapangan telah berganti nama menjadi authentication_string
. Ketika mengubah password, gunakan query berikut untuk mengubah password. Semua perintah lain tetap sama:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
Update: Pada 8.0.15 (mungkin sudah sebelum bahwa versi) PASSWORD() fungsi tidak bekerja, seperti yang disebutkan dalam komentar di bawah ini. Anda harus menggunakan:
UPDATE mysql.pengguna MENGATUR authentication_string='kata' di MANA User='root';
Jika anda don't ingat password yang anda set untuk root dan perlu untuk me-reset, ikuti langkah-langkah berikut:
sudo mysqld_safe --skip-grant-tables;
mysql -u root
Untuk MySQL lebih tua dari MySQL 5.7 menggunakan:
UPDATE mysql.user SET Password=PASSWORD('anda-password') WHERE User='root';
Untuk MySQL 5.7+ gunakan:
MENGGUNAKAN mysql;
UPDATE mysql.pengguna MENGATUR authentication_string=PASSWORD("anda-password") WHERE User='root';
Menyegarkan dan berhenti:
FLUSH PRIVILEGES;
\t
Setelah anda've menginstal MySQL,'ll perlu menetapkan "root" password. Jika anda don't menetapkan password root, kemudian, ya, tidak ada password root, dan anda don't membutuhkan password untuk log in.
Jadi, yang sedang berkata, anda harus menetapkan password root.
Menggunakan terminal masukkan perintah berikut:
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
Jika anda've membuat kesalahan, atau perlu untuk mengubah password root menggunakan berikut:
cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]
use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit
Petunjuk yang diberikan di situs mysql begitu jelas, dari yang disebutkan di atas
$ sudo /usr/local/mysql/support-files/mysql.server berhenti
$ sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
/usr/local/mysql/bin/mysql
keluar
atau Ctrl + z $ sudo /usr/local/mysql/support-files/mysql.server berhenti
$ 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
System Preferences
> MySQL
> Stop MySQL Server
sudo systemctl berhenti mysqld.layanan
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
sudo /usr/local/mysql/bin/mysql -u root
UPDATE mysql.pengguna MENGATUR authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
berhenti
sudo /usr/local/mysql/support-files/mysql.server restart
sudo systemctl restart mysqld
Untuk Mysql baru 5.7 untuk beberapa alasan bin perintah Mysql tidak melekat pada shell:
Restart Mac setelah menginstal.
Mulai Mysql:
Sistem Preferensi > Mysql > tombol Start
$ cd /usr/local/mysql/bin/
$ ./mysql -u root -p
dan masukkan password awal yang diberikan untuk instalasi.
mysql> ALTER USER 'root'@'localhost' DIIDENTIFIKASI DENGAN 'MyNewPassword';
Di terminal, menulis mysql -u root -p ' dan tekan Return. Masukkan arus mysql password yang anda harus mencatat. Dan set password
SET PASSWORD = PASSWORD('new_password');`
Silakan merujuk ke dokumentasi ini di sini untuk lebih jelasnya.
Jika anda lupa password root MySQL, tidak ingat atau ingin istirahat di..... anda dapat me-reset database mysql password dari baris perintah di Linux atau OS X asalkan anda tahu password root dari kotak anda berada di:
(1) Berhenti MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
(2) Memulai dalam mode aman:
sudo mysqld_safe --skip-grant-tables
(3) Ini akan berlangsung perintah sampai proses selesai jadi, buka lagi terminal/shell jendela, log in tanpa password:
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
Dalam UPDATE perintah di atas hanya mengganti 'kata' dengan anda sendiri password baru, pastikan untuk menjaga tanda kutip
(4) Simpan dan cukup
FLUSH PRIVILEGES;
\q
(5) Mulai MySQL
sudo /usr/local/mysql/support-files/mysql.server start
Ketika saya menginstal OS X Yosemite,saya punya masalah dengan Mysql. Saya mencoba banyak metode tapi tidak bekerja. Aku benar-benar menemukan cara yang cukup mudah. Mencoba ini.
sudo su
sudo /usr/local/mysql/support-files/mysql.server berhenti
sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
Metode yang disebutkan di ada jawaban don't bekerja untuk mysql 5.7.6 atau lambat. Sesuai mysql dokumentasi ini adalah cara yang direkomendasikan.
B. 5.3.2.3 Mereset Password Root: Generic Instruksi
MySQL 5.7.6 dan kemudian:
mysql> ALTER USER 'root'@'localhost' DIIDENTIFIKASI DENGAN 'MyNewPass';
Referensi: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Jika anda dapat't ingat password anda, @radtek's jawaban bekerja untuk saya kecuali dalam kasus saya saya telah set up MySQL menggunakan brew yang berarti bahwa langkah-langkah 1 dan 2 dari jawaban-nya harus diubah menjadi:
/usr/local/bin/mysql.server berhenti
/usr/local/bin/mysqld_safe --skip-grant-tables
Catatan: kurangnya sudo
.
Ini adalah apa yang benar-benar bekerja untuk saya:
a.Dari terminal, jalankan perintah ini: lsof-i:3306 Jika ada PID kembali, membunuh itu menggunakan kill -9 PID b. Pergi Ke System Preferences > MySQL > memeriksa jika ada MySQL contoh menjalankan, menghentikan mereka.
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
UPDATE mysql.pengguna MENGATUR authentication_string='your_password' di mana User='root'
sudo /usr/local/mysql/support-files/mysql.server berhenti
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
/usr/local/mysql/bin/mysql -u root
use mysql;
UPDATE user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
exit
Jalankan /usr/local/mysql/bin/mysql -u root
Sekarang masukkan password baru untuk memulai menggunakan MySQL.
Jika anda lupa kata sandi anda atau ingin mengubahnya ke mysql anda:
sudo su
sudo /usr/local/mysql/support-files/mysql.server berhenti
mysql -u root
UPDATE mysql.pengguna MENGATUR authentication_string=PASSWORD('new_password') WHERE User='root';
mana "new_password" - anda baru lulus. Anda don't perlu lama lulus untuk mysql.
FLUSH PRIVILEGES;
Banyak yang telah berubah untuk MySQL 8. I've menemukan berikut modifikasi MySQL 8.0 "Bagaimana untuk me-Reset Password Root" dokumentasi bekerja dengan Mac OS X.
Membuat file temp $HOME/mysql.root.txt
dengan SQL untuk update password root:
MENGUBAH USER 'root'@'localhost' DIIDENTIFIKASI DENGAN mysql_native_password OLEH '<new-password>';
Ini menggunakan mysql_native_password
untuk menghindari Otentikasi plugin 'caching_sha2_password' tidak dapat dimuat kesalahan, yang saya dapatkan jika saya menghilangkan pilihan.
Menghentikan server, mulai dengan sebuah --init-file
menentukan password root, kemudian restart server:
mysql.server berhenti mysql.server start --init-file=$HOME/mysql.root.txt mysql.server berhenti mysql.server start
Mari kita tambahkan pemecahan masalah ini yang bekerja di laptop saya!
Mac dengan Osx Mojave 10.14.5
Mysql 8.0.17 dipasang dengan homebrew
minuman info mysql
/usr/local/Gudang/mysql/8.0.17/bin/mysqld_safe --skip-grant-meja
mysql -u root
update mysql.pengguna mengatur authentication_string='NewPassword' di mana user='root';
FLUSH PRIVILEGES;
Dan voila password reset.
mysqld_safe --skip-grant-tables mysql -u root UPDATE mysql.pengguna MENGATUR authentication_string='yourpasswd' di MANA User='root'; FLUSH PRIVILEGES; MENGUBAH USER 'root'@'localhost' DIIDENTIFIKASI DENGAN caching_sha2_password OLEH 'yourpasswd';
Entah bagaimana aku harus melakukan hal ini setiap kali saya restart Macbook. Posting ini untuk referensi pribadi, mudah-mudahan ini membantu orang lain juga.