MYSQL 설정 및 확인



눈치가 빠른 사람은 어? 앞전이랑 제목이 조금 다르네?? 했을것이다….

당연히 다르다 mysql은 뭔가 실행하는게 아니라 항상 실행되고 있다.

우리가 그렇게 설정 했으니까 windows가 시작되면 서비스가 실행된다.

이번에 할 것은 mysql에 데이터베이스(DB)를 만들고 사용자(USER)을 추가하여

DB를 사용하는 USER 권한을 줄 것이며, 파이참에서 정상 동작 하는지 확인 하도록 하겠다.

 

 

 

우선. 시작 => MySql => MySql Workbench 8.0 CE를 실행하자.

Shell에서 해도 되는데 난 저렴한(?) 남자라….

그냥 문명의 이기를 받아 들이기로 했다. Shell작업을 원하는 사람은

다른 사람이 Shell에서 작업하는 글을 찾아 보기 바란다.

 

 

실행을 하면 위의 그림과 같은 화면이 나오는데 빨간 박스부분을 클릭하자.

 

 

 

그러면 화면이 위와 같이 바뀐다.

우리는 우선 사용자를 추가하고, DB를 만들고, 사용자에게 DB권한을 줄 것이다.

빨간 박스의 Users and Priviteges를 클릭하자.

 

 

 

그럼 그림과 같이 오른쪽 화면이 바뀐다. 우리는 여기서 root를 샘플로 클릭해 보자.

 

 

 

오른쪽 창 상부의 Login을 눌러 봅시다.

사용자 이름, 패스워드, 유형등이 있습니다.

 

 

 

Account Limits를 눌러 봅시다.

mysql 쿼리, 업데이트, 연결수량의 최대값을 정하는 곳 입니다.

 

 

 

Administrative Roles를 눌러 봅니다.

여기는 어떤 명령어를 사용할 것인지 정하는 거라 보면 됩니다.

 

 

 

Schema Privileges를 눌러 봅니다.

여기는 root라는 사용자가 어떤 DB의 권한을 가지는지 정하는 곳입니다.

 

 

 

자 이제 사용자를 추가해 보자.

Add Account를 누르자.

 

 

 

그럼 위와 같은 화면이 나오는데 빨간 네모를 채울 것이다.

 

 

 

테스트 목적 이므로 그림과 같이 Login Name는 test

Limit to Hosts Matching는 localhost

Password와 Confirm Password에는 12345678을 입력 합니다.

비밀번호는 반드시 8자리 이상으로 하기 바란다.

나중에는 원하는걸로 해도 되지만 일단 이해 하기위한 샘플이므로 똑같이 해줍시다.

입력을 했으면 상단탭중 빨간네모 Account Limits를 누르자.

 

 

 

여기는 건들것이 없다. 빨간네모 Administrative Roles를 눌러라.

 

 

 

그럼 위와 같은 화면이 나오는데 우리는 서버 관리자가 아니다.

그리고 DB관리자도 아니지 그래서 걍 몽땅 선택할 것이다.

빨간 박스 DBA를 체크하자.

 

 

 

그러면 그림과 같이 걍 몽땅 체크 된다. 이제 Schema Privileges를 누르자.

 

 

 

여기는 이 사용자가 어떤 DB의 권한을 가질지 정하는 곳인데 아직 

DB를 만들지 않았으니 일단 빨간네모 Apply를 누르자. 뒷부분에서

DB를 만들고 설정할 것이다.

 

 

 

이제 왼쪽 창을 보면 우리가 설정한 test라는 유저가 추가 된것이 보인다.

 

 

 

이제 DB를 추가할 것이다. 가장 왼쪽 창의 아래쪽의 SCHEMAS아래에 빈공간을 오른쪽 클릭

그러면 그림과 같은 메뉴가 나오는데 두번째 Create Schema…을 클릭하자.

 

 

 

오른쪽 창에 위의 그림과 같이 나올것이다.

 

 

 

우리는 test라는 DB를 만들 것이다. 이름을 test로 하고 나머지는 손대지 말고 Apply를 눌러라.

 

 

 

위와 같은 창이 뜨는데 Apply를 누르자.

 

 

 

뭔지 모르지만 순식간에 위의 창같이 변한다. Finish를 눌러서 완료 하자.

 

 

 

아까 보이지 않던 DB test가 보인다면 성공이다.

이제 사용자와 DB를 연결을 해줘야 사용이 가능하다.

 

 

 

다시 왼쪽 메뉴의 Users and Privileges를 눌러 test 사용자를 클릭하자.

 

 

 

눌렀으면 오른쪽 화면 상탭중 Schema Privileges를 누른후 아랫쪽의 Add Entry…을 누르자.

 

 

 

위와 같은 새창이 뜨는데 밑줄 그어진 All schema(%)는 모든 DB의 권한을 주는거니 패스하고

빨간박스 Selected schema를 클릭후 드롭다운 메뉴를 눌러 test DB를 선택하고 OK를 누른다.

 

 

 

이제 권한 설정창에 밑줄친 test가 생긴것을 확인 할 수 있다.

하부의 빨간 네모 Select “ALL”을 누르고 Apply를 누르자.

 

 

 

이제 test라는 유저가 test DB에 위의 빨간박스 권한을 가지게 되었다.

자… 여기까지 하면 사용자를 추가하고 DB를 생성하고 사용자와 DB를

연결하는 작업이 끝난 것이다…. 근데 정말 잘되는지 확인을 해봐야지….

자!! 파이참을 실행해 보자!!! 그림 없다 어여 실행해서 저번에 만든 test.py 파이썬 파일을 열어라.

 

 

 

그리고 위의 코드를 test.py에 넣어라 귀찮은 사람은 바로 아래에 복붙 가능하게

놓은 소스 코드를 복붙 하면 된다.

내용을 간략히 보자면 import MySQLdb => 우리가 이전에 설치한 mysqlclient를 불러오는것이다.

db= 어쩌구 => 지금 우리가한 test라는 유저의 비밀번호와 사용할 db를 정하는 것이다.

cursor = 어쩌구 => cursor이란 이름으로 지정한 내용을 사용한다는 것이다. 일종의 문이다.

cursor.execute => mysql에 명령어를 날리는 것인데 우리는 SELECT VERSION()을 날린다.

이 명령을 Mysql에 날리면 현재 mysql의 버전을 가지고 온다.

data = 어쩌구 => mysql에 명령을 날린 결과를 data라는 이름에 저장 하는 것이다.

print(data) 딱 봐도 출력이다. 뭘? 열심히 설명한 data의 값을

나머지 두개는 db를 닫는 명령이라 생각하면 된다. 사용후에는 사용된 문을 닫아줘야지…

import MySQLdb

db = MySQLdb.connect(host="localhost", user="test", passwd="12345678", db="test")
cursor = db.cursor()

cursor.execute("SELECT VERSION()")

data = cursor.fetchone()

print(data)

cursor.close()
db.close()

 

위의 코드를 수동으로 복사하거나 코드창의 오른쪽에서 3번째 버튼을 클릭하면 복사된다.

 

 

 

이제 실행을 해 볼것인데 상단 탭의 test.py를 오른쪽 클릭하면 그림과 같이 메뉴가 나온다.

메뉴중 밑줄 부분을 클릭하거나 오른쪽 상단의 빨간 네모 부분의 녹색 세모를 누르면 된다.

한번 실행하면 나중에는 Shift + F10 혹은 Ctrl + Shift + F10누르면 실행 된다.

 

 

 

파이참의 아랫쪽 창을 보면 빨간 밑줄과 같은 내용이 나와야 한다.

이것이 나오면 정상적으로 anaconda, 파이참, mysql이 동작한 것이다.

 

지금까지 정상적으로 쓰란거 다쓰고 진행했다면 위의 화면이 나와야 한다…. 안나오면 뭔가 잘못한 것이다.

유형1. mysql의 유저명, 비밀번호, db명이 안맞음….

유형2. mysql을 5.7이 아닌 8.0을 설치한 경우…

유형3. anaconda에서 mysqlclient가 설치되지 않은경우…

유형4. anaconda의 가상환경이 파이참이 등록이 되지 않은경우….

유형5. 유형1~4 모두 포함….

 

자.. 이제 유형 1번. mysql(바로이글)을 찬찬히 다시 보면서 유저등록 db등록을 해보자.

유저명은 test이며 비밀번호는 12345678이다. 그리고 db명은 test이다.

 

유형2. 분명 mysql을 설치할때 8.0이 아닌 5.7을 설치하라고 했다. 그럼에도 불구하고

8.0을 설치한 사람은 고집이 엄청 센가보다…. 최신버전이 항상 좋은것은 아니다.

8.0이 안되는 방식은 5.7과 비밀번호의 암호화 방식이 달라서 그런다.

비밀번호의 암호화 방식으로 인하여 8.0에 접근을 못하고 에러를 띄우는 것이다.

일단 8.0을 쓰고 싶으면 인터넷 찾아서 “mysql caching_sha2_password change”

관련하여 찾으면 해소 가능하다. 그런데 근본적인 해소가 아니라 5.7방식을 8.0에서

사용하는것이다. 어차피 이런거 그냥 5.7쓰는게 맘 편하다.

 

유형3. anaconda에서 mysqlclient가 설치되지 않은경우 ㅠㅠ 글을 다시 읽어 보기 바란다.

Anaconda 설정 및 실행에서 분명 설치했는데 읽으면서 건너 넘어갔을 것이다.

 

유형4. anaconda의 가상환경이 파이참이 등록이 되지 않은경우는

Pycharm 설정 및 실행을 천천히 보면서 다시 하기 바란다.

이게 파이참의 가상환경을 쓰는게 있고 파이썬을 쓰는게 있고 anaconda를

쓰는것이 있다. 그중 anaconda 사용을 기준으로 작성한 것이라. 

나머지로 설정이 되면 안되는 수가 발생을 한다.

 

그리고 해결이 안되면 댓글 달아 주세요.

당연히 에러 메세지도 같이 주셔야 해결 가능 합니다.

그리고 항상 보고 있는게 아니기에 답글 다는데 시간이 걸릴수 있습니다.

또.. 아니 이넘은 왜 존대했다 반말했다하냐 이럴수 있는데…

저는 프로그램하고는 전~~혀 관계없는 직업을 가진 사람이라서…

잠깐씩 짬날때 5분 10분씩 쓰는거라 그때그때 마다 다릅니다.

 

다음은 파이썬 첫걸음을 시작하고 명령어 하나하나 해보도록 하겠습니다.

 

Print Friendly, PDF & Email
0 0 votes
Article Rating
구독하기
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments