Saya mencoba untuk menginstal mysql dalam melayani CentOS Linux release 7.2.1511
. Lihatlah proses instalasi:
# sudo yum install mysql-server
Keluaran:
Dependencies Resolved
===========================================================================================================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================================================================================================
Removing:
mysql-community-client x86_64 5.7.10-1.el7 @mysql57-community 109 M
mysql-community-server x86_64 5.7.10-1.el7 @mysql57-community 652 M
Transaction Summary
===========================================================================================================================================================================================================
Saya menjalankan mysql damon:
# sudo service mysqld start
Memeriksa layanan:
# ps -ef|grep mysql
mysql 1371 1 0 22:17 ? 00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Di sinilah masalah membuatku gila. Saya ingin menetapkan kata sandi root untuk pertama kalinya, jadi saya melakukannya:
# sudo mysql_secure_installation
// when password is required, I just type "enter key"
Tetapi hasilnya: Mengamankan penyebaran server MySQL.
Masukkan kata sandi untuk root pengguna: Kesalahan: Akses ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: TIDAK)
Googling kesalahan, dalam 90% kasus, solusinya adalah dengan memanggil mysqld_safe --skip-grant-tables &
perintah:
service mysqld stop
mysqld_safe --skip-grant-tables &
mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;
Tetapi mysqld_safe
meminta kesalahan "perintah tidak ditemukan". Saya juga diuji dengan sudo mysqld --skip-grant-tables &
, tetapi tidak melakukan apa pun. Saya akan menghargai jika Anda membimbing saya ke arah yang benar untuk mengatur kata sandi root. Terima kasih sebelumnya.
PATH
. Atau Anda perlu jalur penuh. (Ini lebih merupakan pertanyaan Linux daripada pertanyaan MySQL.)Jawaban:
Jika Anda hanya menjalankan perintah mysql di bawah pengguna root, Anda akan diberikan akses tanpa diminta kata sandi, karena otentikasi soket diaktifkan untuk root @ localhost.
Panduan ini menyesatkan.
Satu-satunya cara untuk menetapkan kata sandi adalah beralih ke otentikasi asli seperti:
sumber
Dalam penelitian gila saya untuk solusi, saya melihat
/var/log/mysqld.log
dan menemukan baris ini:Sepertinya mysql 5.7+ menghasilkan kata sandi acak dalam instalasi dan diminta pada file itu.
sumber
Gunakan langkah-langkah di bawah ini untuk mengatur ulang kata sandi:
Setel ulang kata sandi root server MySQL.
Keluarkan sesuatu seperti:
Gunakan kata sandi di atas selama proses reset mysql_secure_installation .
Anda telah berhasil mengatur ulang kata sandi root dari server MySQL. Gunakan perintah di bawah ini untuk memeriksa koneksi server MySQL atau tidak.
Lihat artikel saya: Instal MySQL 5.7 Terbaru di RHEL / Centos 7
sumber
Semua hal di atas tidak bekerja untuk saya dan perhatikan, saya menghabiskan satu jam atau lebih mencoba semua saran lain dari situs MYSql untuk semuanya di SO, saya akhirnya berhasil bekerja dengan:
Catatan: ketika ditampilkan Masukkan kata sandi untuk root pengguna, saya tidak memiliki kata sandi asli jadi saya baru saja memasukkan kata sandi yang sama untuk digunakan sebagai kata sandi baru.
Catatan: tidak ada /var/log/mysqld.log saja /var/log/mysql/error.log
jalankan / usr / bin / mysql_secure_installation
Output dari mysql_secure_installation
sumber