로컬 호스트에서 MariaDB(MySQL) 인스턴스에 연결하려면 어떻게 해야 합니까?
나는 개인적인 용도로만 MariaDB(MySQL이 아닌)로 Front Accounting을 설치하고 브라우저를 통해 액세스합니다.http://localhost/frontaccounts
하지만 로그인을 시도합니다.root
데이터베이스를 설정할 수 없습니다. 데이터베이스에 연결할 수 없습니다. 사용자 또는 암호가 잘못되었습니다. 로그인을 시도할 때 유사한 오류 메시지가 발생합니다.root
phpMyAdmin, SQLbuddy, MySQL Workbench 등에 있습니다.
(실제로 MySQL에서도 이 문제가 발생할 수 있기 때문에 아래에 'MariaDB'가 나오는 곳이면 어디든 'MySQL'로 대체할 수 있습니다.)
문제는 다음 계정으로 로그온하려고 한다는 것입니다.root
내 컴퓨터의 IP 주소에서 (root@MYCOMPUTER
), 인터넷 외부에서 볼 수 있으며, "다른" IP 주소(127.0.0.1, localhost)에서 실행되는 서버에서 볼 수 있습니다.root@localhost
비록 그것이 같은 컴퓨터일지라도!
어떻게 고칠까요?
결국 찾은 다음 답변은 한 IP 주소에 사용자를 생성하여 해당 주소가 다른 주소에 있는 MariaDB(MySQL) 서버에 액세스할 수 있도록 합니다.127.0.0.1
또는localhost
.
터미널 창에서 다음을 입력합니다.
$ sudo mysql -u root -p -h localhost
암호 입력:
[sudo] password for YOURUSERNAME:
MariaDB 입력root
암호를 입력하거나 Enter 키를 누릅니다(기본 빈 암호의 경우).
Enter password:
MariaDB Monitor 시작 배너가 나타납니다...
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 10.0.28-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
그리고 모니터 명령 프롬프트는 사용자의 입력을 기다립니다.none
아직 데이터베이스에 연결되어 있지 않음을 의미합니다):
MariaDB [(none)]>
다음 위치에 사용자 생성localhost
MariaDB가 수락하고 종료할 것:
MariaDB [(none)]> CREATE USER 'root'@'%';
-> \q;
Bye
~$
이렇게 하면 적어도 연결할 수 있으며 다른 사용자가 연결할 수 있는 모델입니다.이러한 최소한의 지침은 보안 구멍을 남기므로 MariaDB에 사용자를 만든 후 암호를 지정합니다(잊지 마십시오).root
) 및 권한과 역할이 부여되면 이러한 구멍이 닫힙니다.
추가 보안을 위해 사용자 컴퓨터의 IP 주소를 지정합니다.'root'@'localhost'
대신에'root'@'%'
.
언급URL : https://stackoverflow.com/questions/41625259/how-can-i-connect-to-a-mariadb-mysql-instance-on-localhost
'source' 카테고리의 다른 글
내가 내 스프링 API에 게시하려고 할 때 403 금지? (0) | 2023.08.05 |
---|---|
모델을 동기화하면 UNSIGNED BIGINT가 UNNSIGNED BIGINT로 수정됩니다(19). (0) | 2023.08.05 |
Javascript ES6 클래스 인스턴스를 복제하는 방법 (0) | 2023.08.05 |
숫자가 나올 때까지 타임리프 루프 (0) | 2023.08.05 |
Swift의 UIViewController에서 기본 super.init()를 호출할 수 없는 이유는 무엇입니까? (0) | 2023.08.05 |