코딩짜는 일상

[MySQL] 몰라서 당황했지만 알고보면 간단한 CMD명령문 오류 해결법 본문

IT/MySQL

[MySQL] 몰라서 당황했지만 알고보면 간단한 CMD명령문 오류 해결법

Remily 2021. 9. 29. 14:22
반응형

MySQL공부할 때 진짜 간단한 오류인데도 불구하고 몰라서 약간 해맸던 오류들 모아봤습니다.

 

  ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)  

MySQL 서버에 접속할 수 없다는 오류입니다.

 >  mysql -u root -p  명령어를 실행하다가 만났습니다.

 

root 비밀번호를 틀린 경우에도 해당 오류를 만날 수 있으나 저는 따로 root비밀번호를 변경하지 않았기에 해당 없었습니다. 원인은 XAMPP를 설치해 필요에 따라 서버를 선택해서 썼기 때문인데요.

XAMPP의 Control Panel.  MySQL서버가 꺼져있다.

위 사진처럼 XAMPP Control Panel에서 MySQL을 Start 해주지 않았기 때문입니다.

혹시 저처럼 XAMPP를 설치해 쓰시는 분이라면 컨트롤 패널에서 서버 Start를 해주세요!

 

 

  ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''데이터베이스 이름'  

잘못된 SQL명령어를 입렸했으며, MariaDB에 해당하는 설명서를 보고 올바른 구문을 만들라는 뜻입니다.

제 경우   >  CREATE DATABASE '데이터베이스 이름' CHARACTER SET utf8 COLLATE utf8_general_ci;    로 데이터베이스를 생성하려다가 만났습니다.

 

이 오류에서 주목할 부분은 맨 마지막에    near ''데이터베이스 이름'    이라는 부분인데요.

저 주변에서 문제가 발생했다는 뜻이니 근처에 틀린 명령어 스펠링이 있는지,

 데이터베이스 이름 양 옆에 따옴표는 제대로 썼는지 확인해주세요.

 

그런데 한참을 확인해도 문제가 안 보인다...?

그렇다면 저처럼  ~ / `  키의 따옴표가 아니라  " / '  키의 따옴표를 썼기 때문일 수 있습니다...

 

  ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key  

테이블을 선언할 때 자동 속성의 칼럼이 있음에도 기본키(Primary key)를 설정하지 않았을 때 발생합니다.

저는  >  CREATE TABLE member(id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, ~다른 칼럼들 정의~ );   로 테이블을 생성하려다가 만났습니다.

 

보면 id칼럼의 정의 중에서   AUTO_INCREMENT   가 있는데 이는 자동으로 마지막에 생성한 값을 증가시켜 새로 생성한 레코드에 값을 넣어줍니다. 자동으로 생성해주기 때문에 그 테이블 안에서 유일한 값입니다. 따라서 저 위의 명령어를 예시로 들었을 때 id 칼럼의 정의 끝에   PRIMARY KEY   문구를 추가해주면 됩니다.

반응형