cari

Rumah  >  Soal Jawab  >  teks badan

MySQL: Akses ditolak kepada pengguna 'test'@'localhost' kecuali pengguna root (pengesahan kata laluan: ya)

<p>Saya menghadapi masalah menggunakan pengguna bukan root/admin mysql, saya mengikuti langkah di bawah untuk mencipta pengguna dan kebenaran, sila betulkan saya jika saya melakukan sesuatu yang salah: </p> <p>Saya memasang <code>mysql</code> pada <code>RHEL 5.7 64bit</code>, pakej pemasangan adalah seperti berikut, setelah saya melengkapkan <code>rpm install</code>, kami Akan</p> <ol> <li>Gunakan <code>mysql_install_db</code> <li>Mulakan perkhidmatan mysql, kemudian</li> <li>Menggunakan <code>mysql_upgrade</code> juga akan beroperasi pada pelayan. </li> </ol> <p>Selepas proses ini, saya boleh log masuk menggunakan <code>root</code>, tetapi tidak boleh log masuk ke pelayan dengan pengguna bukan root: </p> <pre class="brush:php;toolbar:false;">[root@clustertest3 ~]# rpm -qa | MySQL-client-advanced-5.5.21-1.rhel5 MySQL-server-advanced-5.5.21-1.rhel5 [root@clustertest3 ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql soket=/var/lib/mysql/mysql.sock pengguna=mysql # Lalai menggunakan format kata laluan lama untuk keserasian dengan mysql 3.x # pelanggan (mereka yang menggunakan pakej keserasian mysqlclient10). kata laluan_lama=1 # Melumpuhkan pautan simbolik disyorkan untuk mengelakkan pelbagai risiko keselamatan; # untuk berbuat demikian, nyahkomen baris ini: # pautan-simbol=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [root@clustertest3 ~]# ls -ld /var/lib/mysql/mysql.sock srwxrwxrwx 1 mysql mysql 0 Nov 30 11:09 /var/lib/mysql/mysql.sock mysql> BUAT PENGGUNA 'golden'@'%' DIKENAL PASTI OLEH 'kata laluan'; Pertanyaan OK, 0 baris terjejas (0.00 saat) mysql> BERIKAN SEMUA KEISTIMEWAAN PADA * . Pertanyaan OK, 0 baris terjejas (0.00 saat) mysql> KEISTIMEWAAN FLUSH; Pertanyaan OK, 0 baris terjejas (0.00 saat) mysql> SELECT USER(),CURRENT_USER(); +----------------+----------------+ |. USER() | +----------------+----------------+ |. root@localhost | +----------------+----------------+ 1 baris dalam set (0.00 saat) [root@clustertest3 ~]# mysql -ugolden -p Masukkan kata laluan: RALAT 1045 (28000): Akses dinafikan untuk pengguna 'golden'@'localhost' (menggunakan kata laluan: YES)</pre> <p>Ini adalah masalah yang saya hadapi, adakah ada penyelesaian? </p>
P粉080643975P粉080643975451 hari yang lalu489

membalas semua(1)saya akan balas

  • P粉301523298

    P粉3015232982023-08-22 10:52:24

    Jangan berikan semua kebenaran kepada pengguna bukan root pada semua pangkalan data, ia tidak selamat (dan anda sudah mempunyai pengguna "root" dengan peranan itu)

    GRANT <privileges> ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

    Pernyataan ini mencipta pengguna baharu dan memberikan kebenaran yang dipilih. Contohnya:

    GRANT INSERT, SELECT, DELETE, UPDATE ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password';

    Sila lihat Dokumentasi untuk melihat semua kebenaran terperinci

    EDIT: Anda boleh mendapatkan lebih banyak maklumat menggunakan pertanyaan ini (log masuk sebagai "root"):

    select Host, User from mysql.user;

    Lihat apa yang berlaku

    balas
    0
  • Batalbalas