Saya seorang insinyur listrik yang terutama bermain-main dengan sistem tenaga alih-alih pemrograman. Baru-baru ini, saya telah mengikuti manual untuk menginstal suite perangkat lunak di Ubuntu. mySQL
Sebenarnya saya tidak memiliki pengetahuan sama sekali. Saya telah melakukan instalasi berikut di Ubuntu saya.
sudo apt-get update
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-client-5.5
sudo apt-get install mysql-common
sudo apt-get install glade
sudo apt-get install ntp
Lalu saya lakukan
me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"
Saya berakhir dengan pesan kesalahan berikut.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Bagaimana saya memperbaikinya dan melanjutkan?
Jawaban:
Catatan: Untuk MySQL 5.7+ silakan lihat jawaban dari @Lahiru untuk pertanyaan ini. Itu mengandung lebih banyak informasi terkini.
Untuk MySQL <5.7:
Kata sandi root default kosong (yaitu string kosong) tidak
root
. Jadi Anda bisa masuk sebagai:Anda jelas harus mengubah kata sandi root Anda setelah instalasi
Dalam kebanyakan kasus, Anda juga harus mengatur akun pengguna individu sebelum bekerja secara luas dengan DB juga.
sumber
-p
Bendera menentukan kata sandi, jadi setelah Anda mengubah kata sandi root, Anda akan menyukainyamysql -u root -p[newpassword]
. The< [filename]
adalah menggunakan input std untuk mengeksekusi file SQL di jalan yang diberikan melalui pengguna credential Anda berikan.mysqladmin -u root password abc1234
, tetapi saya mendapatkannyamysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
. Terima kasih banyak!Saya bisa menyelesaikan masalah ini dengan menjalankan pernyataan ini
Yang akan mengubah kata sandi root.
sumber
dpkg --get-selections | grep sql
untuk mendapatkan versi Andayum list installed
tambahkan| grep sql
untuk memfilter hanya paket SQL.sudo: dpkg-reconfigure: command not found
. Ada saran?Anda harus mengatur ulang kata sandi! langkah-langkah untuk mac osx (diuji dan berfungsi) dan ubuntu
Hentikan penggunaan MySQL
atau
Mulai dalam mode aman:
(baris di atas adalah seluruh perintah)
Ini akan menjadi perintah yang sedang berlangsung sampai proses selesai jadi buka jendela shell / terminal lain, masuk tanpa kata sandi:
Sesuai komentar @ IberoMedia, untuk versi MySQL yang lebih baru, bidang ini disebut
authentication_string
:Mulai MySQL menggunakan:
atau
kata sandi baru Anda adalah 'kata sandi'.
sumber
--skip-grant-tables
bersamaan dengan--skip-networking
untuk mencegah klien jarak jauh terhubung. oh, dan juga, yang ini tidak berhasil untuk saya. Itulah mengapa saya datang ke sini: p--
Apa yang saya sarankan gunakandpkg --get-selections | grep mysql-server-
untuk mendapatkan versi MySQL Anda yang tepat, kemudian pergi untuk sudo dpkg-mengkonfigurasi ulang mysql-server-5.x (ganti 5 .x dengan versi server Anda, btw). Saya berkomentar jawaban @ Divz dengan presisi ini, tapi itu ditutupi oleh beberapa komentar "terima kasih".Saya tahu ini pertanyaan lama tetapi saya merasa ini mungkin membantu seseorang. Saya baru-baru ini dihadapkan dengan masalah yang sama tetapi dalam kasus saya, saya ingat kata sandi saya cukup baik tetapi terus memberi saya kesalahan yang sama. Saya mencoba banyak solusi tetapi tetap tidak ada yang membantu saya mencoba ini
setelah itu meminta Anda untuk kata sandi seperti ini
dan kemudian saya mengetik kata sandi yang saya gunakan. Itu saja
sumber
Pada permulaan permulaan server hal berikut terjadi, mengingat bahwa direktori data server kosong:
Untuk mengungkapkannya, gunakan perintah berikut:
Ganti kata sandi root sesegera mungkin dengan masuk dengan kata sandi sementara yang dibuat dan setel kata sandi khusus untuk akun pengguna super:
sumber
sudo grep 'temporary password' /var/log/mysqld.log
saya mendapatkan/var/log/mysqld.log: No such file or directory
sudo grep 'temporary password' /var/log/mysql/error.log
. Solusi @Lahiru bekerja untuk saya.shell> sudo grep 'password' /var/log/mysql/error.log
. Bekerja untuk saya, tapi saya mengerti: root @ localhost dibuat dengan kata sandi kosong! Silakan pertimbangkan mematikan opsi --initialize-insecure. Versi mysql saya adalah: Ver 8.0.13 untuk Linux di x86_64 (MySQL Community Server - GPL)jika masalahnya masih ada, cobalah untuk memaksa mengubah celah
Siapkan kata sandi baru pengguna root MySQL
Hentikan Server MySQL:
Mulai server MySQL dan uji:
sumber
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
juga mengganggu server saya. 'mysqld_safe' juga gagal sampai saya melakukan 'killall mysqld' SETELAH Langkah Anda 1.--skip-grant-tables
bersamaan dengan--skip-networking
untuk mencegah klien jarak jauh terhubung. oh, dan juga, yang ini tidak berhasil untuk saya. Itulah mengapa saya datang ke sini: pItu terjadi ketika kata sandi Anda hilang.
Langkah-langkah untuk mengubah kata sandi ketika Anda lupa:
Hentikan Server MySQL (di Linux):
Mulai database tanpa memuat tabel hibah atau mengaktifkan jaringan:
Ampersand di akhir perintah ini akan membuat proses ini berjalan di
latar belakang sehingga Anda dapat terus menggunakan terminal Anda dan menjalankan #mysql -u root, itu tidak akan meminta kata sandi.
Jika Anda mendapatkan kesalahan seperti di bawah ini:
2018-02-12T08: 57: 39.826071Z Direktori mysqld_safe '/ var / run / mysqld' untuk
file socket UNIX tidak ada. mysql -u root ERROR 2002 (HY000): Tidak dapat terhubung ke server MySQL lokal melalui soket
'/var/run/mysqld/mysqld.sock' (2) [1] + Keluar 1
Buat direktori layanan MySQL.
Berikan izin pengguna MySQL untuk menulis ke direktori layanan.
Jalankan perintah yang sama pada langkah 2 untuk menjalankan mysql di latar belakang.
Jalankan mysql -u root Anda akan mendapatkan konsol mysql tanpa memasukkan kata sandi.
Jalankan perintah ini
Untuk MySQL 5.7.6 dan yang lebih baru
Untuk MySQL 5.7.5 dan yang lebih lama
Jika perintah ALTER USER tidak berfungsi gunakan:
Sekarang keluar
Untuk menghentikan instance dimulai secara manual
Mulai ulang mysql
sumber
sudo kill `sudo cat /var/run/mysqld/mysqld.pid`
Saya menemukan masalah yang sangat menjengkelkan ini dan menemukan banyak jawaban yang tidak berhasil. Solusi terbaik yang saya temui adalah menghapus instalan mysql dan menginstalnya kembali. Pada menginstal ulang Anda menetapkan kata sandi root dan ini memperbaiki masalah.
Saya menemukan kode ini di tempat lain sehingga saya tidak mengambil kredit untuk itu. Tapi itu berhasil. Untuk menginstal mysql setelah menghapusnya saya pikir laut digital memiliki tutorial yang bagus tentang itu. Lihat intisari saya untuk ini.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096
sumber
Saya menggunakan Ubuntu-16.04: install mysql - 5.7. Saya memiliki masalah yang sama: Login ditolak untuk pengguna root.
Coba langkah-langkah di bawah ini:
dpkg --get-selections | grep mysql
(untuk mendapatkan versi mysql).dpkg-reconfigure mysql-server-5.7
mysql -u root -p
Tanpa -p itu tidak meminta Anda untuk bertanya kata sandi. Setelah masuk, Anda dapat membuat pengguna dengan kata sandi dengan mengikuti langkah-langkah:
Keluar dari root dan login dari yang Anda berikan di atas.
Untuk beberapa alasan masih mengetik mysql tidak bekerja. SAMA SEKALI. Saya sarankan biasakan untuk menggunakannya
mysql -u <name> -p
.sumber
cukup masukkan terminal
mysql -u root -p. daripada itu akan meminta kata sandi kepada Anda
sumber
Jika tidak ada jawaban lain yang berfungsi untuk Anda, dan Anda menerima kesalahan ini:
Ikuti perintah di bawah ini langkah demi langkah hingga Anda mereset kata sandi Anda:
sumber
$ sudo cat /etc/mysql/debian.cnf
Ini akan menampilkan detail sebagai-
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock
Di atas kita dapat melihat kata sandi hanya kita akan menggunakannya
(GUx0RblkD3sPhHL5)
di prompt-mysql -u debian-sys-maint -p Enter password:
sekarang berikan kata sandi ( GUx0RblkD3sPhHL5 ).
Sekarang
exit
dari MySQL dan login lagi as-mysql -u root -p Enter password:
Sekarang berikan kata sandi baru. Itu saja, kami memiliki kata sandi baru untuk penggunaan lebih lanjut.
Itu berhasil untuk saya, semoga membantu Anda juga!
sumber
Silakan baca dokumentasi resmi: Mysql: Cara Mengatur Ulang Kata Sandi Root
Jika Anda memiliki akses ke terminal:
MySQL 5.7.6 dan yang lebih baru:
MySQL 5.7.5 dan sebelumnya:
sumber
> mysql -u {your_username}
Saya menggunakan mysql-5.7.12-osx10.11-x86_64.dmg di Mac OSX
Proses instalasi secara otomatis membuat kata sandi sementara untuk pengguna root. Anda harus menyimpan kata sandi. Kata sandi tidak dapat dipulihkan.
Ikuti instruksi
cd /usr/local/mysql/bin/
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{YOUR_PASSWORD}');
Jika Anda ingin mengatur kata sandi Anda: "root" maka perintahnya adalah,SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
exit
./mysql -u root -p
Untuk kenyamanan, Anda harus menambahkan
"/usr/local/mysql/bin"
ke PATH AndaSekarang dari mana saja Anda bisa mengetik
./mysql -u root -p
dan kemudian mengetik kata sandi dan Anda akan mendapatkan prompt mysql>.Semoga ini bisa membantu.
sumber
Jawabannya mungkin terdengar konyol, tetapi setelah menghabiskan berjam-jam waktu, ini adalah bagaimana saya membuatnya bekerja
Saya mendapat pesan kesalahan
Meskipun saya mengetik kata sandi yang benar (kata sandi sementara yang Anda dapatkan saat pertama kali menginstal mysql)
Saya melakukannya dengan benar ketika saya mengetikkan kata sandi ketika kata sandi itu berkedip
sumber
jika masalahnya masih ada, cobalah untuk memaksa mengubah celah
Hentikan Server MySQL (di Linux):
Hentikan Server MySQL (di Mac OS X):
Mulai daemon mysqld_safe dengan --skip-grant-tables
Siapkan kata sandi baru pengguna root MySQL
Hentikan Server MySQL (di Linux):
Hentikan Server MySQL (di Mac OS X):
Mulai layanan server MySQL dan uji coba login dengan root:
sumber
DENGAN kata sandi default akan menjadi nol, jadi Anda harus mengubah kata sandi dengan melakukan langkah-langkah di bawah ini.
terhubung ke mysql
root # mysql
Gunakan mysql
mysql> perbarui kata sandi yang ditetapkan pengguna = PASSWORD ('root') di mana Pengguna = 'root'; Terakhir, muat ulang hak istimewa:
mysql> hak istimewa flush; mysql> keluar
sumber
Hanya satu baris dan itu menyelesaikan masalah saya.
sumber
Di Ubuntu 16.04 (MySQL versi 5.7.13) saya dapat menyelesaikan masalah dengan langkah-langkah di bawah ini:
Ikuti instruksi dari bagian dalam B.5.3.2.2 Mengatur Ulang Kata Sandi Root: Unix dan Unix-Like Systems manual referensi MySQL 5.7
Ketika saya mencoba #sudo mysqld_safe --init-file = / home / me / mysql-init & gagal. Kesalahan ada di /var/log/mysql/error.log
2016-08-10T11: 41: 20.421946Z 0 [Catatan] Eksekusi init_file '/ home / me / mysql / mysql-init' dimulai. 2016-08-10T11: 41: 20.422070Z 0 [KESALAHAN] / usr / sbin / mysqld: File '/ home / me / mysql / mysql-init' tidak ditemukan (Errcode: 13 - Izin ditolak) 2016-08-10T11: 41: 20.422096Z 0 [KESALAHAN] Batalkan
Izin file mysql-init bukan masalah, perlu mengedit izin apparmor
Edit oleh #sudo vi /etc/apparmor.d/usr.sbin.mysqld
Lakukan #sudo /etc/init.d/apparmor reload
Mulai mysqld_safe lagi coba langkah 2 di atas. Periksa /var/log/mysql/error.log pastikan tidak ada kesalahan dan mysqld berhasil dimulai
Jalankan #mysql -u root -p
Masukkan kata kunci:
Masukkan kata sandi yang Anda tentukan di mysql-init. Anda seharusnya bisa masuk sebagai root sekarang.
Shutdown mysqld_safe oleh #sudo mysqladmin -u root -p shutdown
Mulai mysqld dengan cara biasa dengan #sudo systemctl, mulai mysql
sumber
Jika Anda memiliki MySQL sebagai bagian dari gambar Docker (katakan pada port 6606) dan instal Ubuntu (pada port 3306) yang menentukan port tidak cukup:
akan melempar:
karena mencoba menyambung ke localhost secara default, menentukan IP lokal Anda memperbaiki masalah:
sumber
Dalam versi MySQL terbaru tidak ada
password
dalammysql.user
tabel.Jadi, Anda perlu mengeksekusi
ALTER USER
. Masukkan perintah satu baris ini ke dalam file.Dan jalankan sebagai file init (sebagai pengguna root atau mysql)
Server MySQL harus dihentikan untuk memulai
mysqld_safe
.Juga, mungkin ada masalah dengan izin apparmor untuk memuat file init ini. Baca lebih lanjut di sini https://blogs.oracle.com/jsmyth/entry/apparmor_and_mysql
sumber
Jika Anda belum menetapkan kata sandi, kemudian jalankan
mysql -uroot
, itu berfungsi untuk saya.sumber
Di Mac, Jika Anda memiliki masalah saat masuk dengan kata sandi pertama yang Anda berikan saat instalasi, mungkin Anda bisa dengan mudah mematikan proses mysql lalu mencoba.
Jadi: 1- jalankan perintah berikut untuk menemukan PID dari mysql:
2- matikan proses:
Kemudian Anda bisa masuk dengan kata sandi awal menggunakan perintah ini:
Yang meminta Anda untuk memasukkan kata sandi Anda. Cukup masukkan kata sandi awal.
sumber
Saya memiliki masalah serupa:
Tetapi dalam kasus saya, penyebabnya benar-benar konyol. Saya menyalin perintah dari dokumen Word, dan masalahnya adalah bahwa tanda hubung tidak memiliki kode ASCII 2D tetapi Unicode E28093.
Cara yang salah:
Cara yang benar:
Keduanya terlihat sama tetapi tidak sama (coba, salin dan tempel mengganti kata sandi Anda).
Menghadapi jenis kesalahan ini, rekomendasinya adalah mencoba mengetik perintah alih-alih menyalin dan menempel.
sumber
Saya mencoba dengan jawaban yang benar oleh @Lahiru, tetapi tidak bekerja dengan server MySQL versi 8.0.16 (Komunitas) di macOS Mojave.
Ikuti instruksi oleh Sameer Choudhary di atas dan dengan beberapa penyesuaian, saya dapat mengubah kata sandi root dan mengaktifkan akses root dari localhost.
Pembaruan: Semua ini tidak diperlukan, jika Anda menginstal di Mac OS menggunakan homebrew: "brew install mysql"
sumber
Saya punya masalah dengan Ubuntu 18.04 LTS dan Mysql Server versi 5.7.27-0ubuntu0.18.04.1 (Ubuntu).
Solusi saya adalah (berjalan sebagai root dengan
sudo -i
)sumber
Saya juga menemukan masalah yang sama, apa yang saya lakukan adalah
1) Buka cmd Anda
2) Arahkan ke C: \ Program Files \ MySQL \ MySQL Server 8.0 \ bin> (di mana MySQL Server 8.0 mungkin berbeda tergantung pada server yang Anda instal)
3) Kemudian masukkan perintah berikut mysql -u root -p
4) Saya akan meminta kata sandi ... cukup tekan enter, karena terkadang kata sandi yang Anda masukkan saat menginstal diubah menjadi kosong.
sekarang Anda cukup mengakses database
Solusi ini bekerja untuk saya di platform windows
sumber
Sementara jawaban teratas (w / mysqladmin) bekerja di mac 10.15, maka itu tidak berfungsi di ubuntu. Kemudian mencoba banyak opsi lain termasuk mulai aman untuk mysql, tidak ada yang berhasil. Sehingga menambah respons baru.
Setidaknya untuk versi saya mendapat
5.7.28-0ubuntu0.18.04.4
jawaban kurangIDENTIFIED WITH mysql_native_password
. 5.7.28 adalah default pada LTS saat ini dan karenanya harus menjadi default untuk sebagian besar sistem baru (hingga 20,04 LTS keluar).Ditemukan: https://www.digitalocean.com/community/questions/can-t-set-root-password-mysql-server dan sekarang diterapkan
yang berhasil.
sumber
Kesalahan yang saya hadapi adalah
itu masalah dengan port yang aktif.
Secara default mysql sedang berjalan
port 3306
.Anda dapat memeriksanya dengan menjalankan
dalam sistem 32-bit:
sudo /opt/lampp/manager-linux.run
dalam sistem 64-bit:
sudo /opt/lampp/manager-linux-x64.run
dan klik
configure
tombolDalam kasus saya port berjalan pada 3307 dan perintah yang saya gunakan adalah
sumber
Dalam kasus saya, saya mencoba untuk lulus kulitperintah ke sebuah wadah. Dalam hal ini hanya kata pertama yang ditafsirkan. Pastikan Anda tidak berlari:
sebagai lawan:
mungkin mencoba mengutip:
sumber