액세스 거부로 인해 데이터베이스를 작성할 수 없습니다.


10

방금 일반 사용자 (vivek)로 Ubuntu 12.04에 로그인하고 데이터베이스를 만들기 위해 터미널을 열었습니다.

create database Hello;

내가 가진 오류는 다음과 같습니다.

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

루트 사용자로 로그인하면 MySQL조차 열리지 않고 오류 메시지가 나타납니다.

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

지금해야 할 일


1
MySQL에 연결하기 위해 어떤 명령을 사용 했습니까?
Parto

난 그냥 MySQL로 연결하기 위해 mysql을 썼다
viveksinghggits

답변:


12

루트 사용자로 MySQL에 로그인하려면 다음을 사용할 수 있습니다.

mysql -u root -p

그런 다음 MySQL 비밀번호를 입력하십시오.


다른 사용자로 로그인하려면 먼저 해당 사용자를 작성하고 그에게 권한을 부여해야합니다.

newuser원하는 사용자 이름과 원하는 password비밀번호로 변경하여 사용자를 만듭니다 .

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

안타깝게도이 시점 newuser에서 데이터베이스 관련 작업을 수행 할 권한이 없습니다.
따라서 첫 번째 단계는 사용자에게 '일'을 수행 할 수있는 권한을 부여하는 것입니다.
모든 데이터베이스 및 테이블에 대한 모든 권한 (선택, 작성, 삭제, 업데이트, 삭제 등)을 부여하려면 다음을 실행하십시오.

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

특정 데이터베이스 및 테이블에 대한 특정 권한을 부여하려면 다음을 실행하십시오.

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

특정 권한을 거부하거나 취소해야하는 경우 다음을 실행하십시오.

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

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



1

저장 모드에서 mysql을 엽니 다

sudo mysqld_safe --skip-grant-tables

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

루트 사용자로 mysql 로그인

mysql -u root

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

해당 a / c에 대한 모든 PRIVILEGES를 부여

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

나는 이것이 효과가 있다고 생각한다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.