Mengapa Saya Tidak Boleh Mengakses Pangkalan Data MySQL Saya sebagai Pengguna Root di Ubuntu?

Patricia Arquette
Lepaskan: 2024-10-30 00:10:28
asal
328 orang telah melayarinya

Why Can't I Access My MySQL Database as Root User in Ubuntu?

SQLSTATE[HY000] [1698] Akses Ditolak untuk Pengguna 'root' pada localhost

Bertemu dengan "SQLSTATE[HY000] [1698] Akses ditolak untuk pengguna ' ralat root'@'localhost'" selepas menyediakan pelayan web Ubuntu boleh mengecewakan. Walaupun akses pangkalan data kelihatan boleh diakses melalui terminal, ralat dalam PHP dan phpMyAdmin berterusan. Memahami punca asas adalah penting untuk menyelesaikan isu ini.

Sekatan Pengguna Root

MySQL 5.7 dan seterusnya memperkenalkan sekatan pada pengguna root. Tanpa keistimewaan yang tinggi, akses terus ke MySQL menggunakan mysql -u root tidak lagi boleh dilakukan. Sebaliknya, sudo mysql -u root diperlukan, mendorong kemasukan kata laluan.

Sekatan ini dilanjutkan kepada GUI dan aplikasi baris bukan arahan. Untuk mengurangkan isu ini, cipta pengguna baharu dengan keistimewaan yang diperlukan dan bukannya menggunakan pengguna akar.

Pelaksanaan dalam PHP

Dalam kod PHP yang disediakan, kelayakan log masuk adalah berkod keras. Untuk memintas sekatan pengguna root, ubah suai kaedah __construct() untuk memasukkan pengguna baharu dengan kebenaran yang sesuai:

<code class="php">public function __construct() {
    try {
        $this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->name, $this->pass, self::$settings);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}</code>
Salin selepas log masuk

Ganti $this->name dan $this->pass dengan kelayakan pengguna yang baru dibuat . Pastikan pengguna memiliki keistimewaan yang diperlukan untuk mengakses pangkalan data.

Sumber Tambahan

Untuk mendapatkan maklumat lanjut dan langkah penyelesaian masalah, rujuk sumber berikut:

  • [Kod Ralat MySQL 1698: Akses Ditolak untuk Pengguna 'root'@'localhost'](https://www.cybertec-postgresql.com/en/mysql-error-1698-access-denied-for- user-rootlocalhost/)

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Mengakses Pangkalan Data MySQL Saya sebagai Pengguna Root di Ubuntu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!