tidak dapat membuat basis data karena akses ditolak

10

Saya baru saja masuk ke Ubuntu 12.04 sebagai pengguna normal (vivek) dan membuka terminal untuk membuat database, saya menulis:

create database Hello;

dan kesalahan yang saya miliki adalah:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'

Jika saya masuk sebagai pengguna root maka bahkan MySQL tidak membuka dan memiliki pesan kesalahan:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Apa yang harus dilakukan sekarang.

viveksinghggits
sumber
1
Perintah mana yang Anda gunakan untuk terhubung ke MySQL?
Parto
Saya baru saja menulis mysql untuk terhubung ke MySQL
viveksinghggits

Jawaban:

12

Untuk masuk ke MySQL sebagai pengguna root, Anda dapat menggunakan:

mysql -u root -p

dan kemudian masukkan kata sandi MySQL Anda.


Untuk masuk sebagai pengguna lain, Anda harus membuat pengguna itu terlebih dahulu dan memberinya hak istimewa.

Buat pengguna menggunakan - ubah newuserke nama pengguna yang Anda inginkan dan passwordkata sandi pilihan Anda.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Sayangnya, pada saat newuserini tidak memiliki izin untuk melakukan apa pun dengan database.
Oleh karena itu tahap pertama adalah memberikan pengguna hak istimewa untuk melakukan 'hal-hal'.
Untuk memberikan semua hak istimewa (pilih, buat, hapus, perbarui, lepas, dll) di semua basis data dan tabel, jalankan:

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Untuk memberikan hak khusus pada database dan tabel tertentu, jalankan saja:

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';

Jika Anda perlu menolak atau mencabut hak istimewa tertentu, jalankan saja:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';

Sumber: https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql

Parto
sumber
Terima kasih ... Itu membantu saya
viveksinghggits
1

buka mysql dalam mode simpan

sudo mysqld_safe --skip-grant-tables

===============================

login mysql sebagai pengguna root

mysql -u root

===============================

berikan semua HAK ISTIMEWA untuk a / c itu

GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

saya pikir ini juga akan berfungsi ...

Sudip Das
sumber