MySQL: EROARE 1227 (42000): Acces refuzat – Nu se poate CREATE USER (Programare, Mysql)

cProg a intrebat.

Folosesc MySQL 5.5.16 noinstall Zip Archive pe Win7.

După ce am pornit serverul, a apărut comanda show databases mi-a arătat o listă cu 2 baze de date: information_schema și test. Aceasta din urmă este goală.

Unde se află tabelul user?

Am încercat să creez un nou utilizator prin această comandă create user newUser; și am primit următorul mesaj de eroare: ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation

Ce ar trebui să fac pentru a crea, baze de date, tabele și a face toate operațiile pe care vreau să le fac? Nu știu dacă nu cumva faptul că folosesc MySQL 5.5.16 noinstall Zip Archive are vreo legătură cu mesajul de eroare?

1 răspunsuri
RolandoMySQLDBA

Primul lucru pe care trebuie să-l faci este să rulezi asta:

SHOW GRANTS;

Vei vedea rapid că ți-a fost atribuit utilizatorul anonim pentru a te autentifica în mysql.

În loc să te loghezi în mysql cu

mysql

autentificare ca aceasta:

mysql -uroot

În mod implicit, [email protected] are toate drepturile și nu are parolă.

Dacă nu vă puteți autentifica ca root fără parolă, faceți următoarele:

Pasul 01) Adăugați cele două opțiuni în secțiunea mysqld din my.ini:

[mysqld]
skip-grant-tables
skip-networking

Pasul 02) Reporniți mysql

net stop mysql
<wait 10 seconds>
net start mysql

Pasul 03) Conectați-vă la mysql

mysql

Pasul 04) Creați o parolă de la [email protected]

UPDATE mysql.user SET password=password('whateverpasswordyoulike')
WHERE user='root' AND host='localhost';
exit

Pasul 05) Reporniți mysql

net stop mysql
<wait 10 seconds>
net start mysql

Pasul 06) Conectați-vă ca root cu parola

mysql -u root -p

Ar trebui să fie bine de acolo.

ATENȚIE: Vă rugăm să eliminați utilizatorii anonimi !!!

Comentarii

  • @CharlieParker my.ini este fișierul de configurare pentru MySQL/Windows. Am menționat my.ini deoarece Întrebarea începe cu I'm using MySQL 5.5.16 noinstall Zip Archive on Win7. –  > Por RolandoMySQLDBA.
  • Puteți adăuga Pasul 01) linii în /usr/local/mysql/my.cnf în fișierul Mac OS X –  > Por goker.cebeci.
  • Acest lucru a funcționat pentru mine. Cu toate acestea, ca efect secundar, a făcut ca aplicația mea java să nu reușească să se conecteze la o bază de date cu un utilizator specific bazei de date (adică nu root). Este normal să se întâmple așa ceva? –  > Por Max.
  • Alternativă la sugestia lui @goker.cebeci: /etc/mysql/my.cnf –  > Por daka.
  • O altă alternativă la sugestia @goker.cebeci (homebrew + mariadb) : /usr/local/etc/my.cnf –  > Por 00-BBB.

Tags: