Lingkungan saat ini:
mysql> show variables like "%version%";
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| innodb_version | 5.7.13 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.13 |
| version_comment | MySQL Community Server (GPL) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+------------------------------+
8 rows in set (0.01 sec)
Pengguna Kata Sandi Ubah:
mysql> update user set password=PASSWORD("XXXX") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
Apakah saya melewatkan sesuatu?
mysql
dalam mode aman. maka Anda dapat mengubah kata sandi rootJawaban:
Di MySQL 5.7,
password
bidang dalammysql.user
bidang tabel dihapus, sekarang nama bidangnyaauthentication_string
.Pertama-tama pilih database:
Dan kemudian tunjukkan tabel:
Anda akan menemukan
user
tabel, dan melihat bidangnya:Anda akan menyadari bahwa tidak ada bidang bernama
password
, bidang kata sandi bernamaauthentication_string
. Jadi, lakukan saja ini:Seperti yang disarankan oleh @Rui F Ribeiro, atau Anda dapat menjalankan:
sumber
SET PASSWORD FOR 'root' = PASSWORD('new_password');
Cara MySQL mengubah kata sandi adalah
SET PASSWORD
lihat Manual Referensi MySQL 5.7 / ... / SET Sintaks PASSWORD
Jawaban yang diterima dari Rahul menunjukkan cara memperbarui kata sandi dengan
DML
pernyataan.Peringatan: itu bukan cara yang resmi dan didukung. Ini dapat menyebabkan masalah, jika Anda tidak tahu apa yang Anda lakukan. Jangan lupa
FLUSH PRIVILEGES
.Berhentilah menggunakan PRIVILEG FLUSH
Silakan gunakan
GRANT
,REVOKE
,SET PASSWORD
, atauRENAME USER
dan bukan pernyataan DML langsung.Perbarui: SET PASSWORD ... = Sintaks PASSWORD ('auth_string') tidak digunakan pada MySQL 5.7.6 dan akan dihapus pada rilis MySQL yang akan datang.
sumber
mysqladmin -u user-name password -p "oldpassword" "newpass"
jika Anda bisa login maka coba ini
""
tidak akan berhasil coba''
penawaran tunggalupdate user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';
sumber
authentication_string
Dalam kasus saya
Jadi saya pikir, perintah pembaruan Anda benar, tetapi Anda harus me-restart server mysql Anda.
sumber
Untuk masalah ini, saya menggunakan metode yang sederhana dan kasar, mengubah nama bidang menjadi kata sandi, alasannya adalah karena saya menggunakan perangkat lunak mac navicat premium dalam kesalahan operasi visual: 'Kata sandi' kolom 'di' daftar bidang 'tidak dikenal, perangkat lunak itu sendiri menggunakan kata sandi sehingga saya tidak bisa dengan mudah beroperasi. Oleh karena itu, saya root ke baris perintah basis data, jalankan
Dan kemudian memodifikasi nama bidang:
Lagipula normal.
sumber