ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 주피터노트북에서 MySQL 설치 및 연동하기
    SQL 배우기 2024. 1. 10. 16:49

    MySQL 설치

    우선 mysql을 설치해야합니다.

    1. 터미널에 brew install mysql 입력하여 실행하세요. 이것저것 많이 깔릴거에요!

    brew install mysql

     

    2. 아래와 같은 기본 사용법이 나타날 것입니다. 비밀번호 설정을 원하거나, mysql에 연동하거나 시작하고 싶으면 아래 명령어를 참고하세요

    We've installed your MySQL database without a root password. To secure it run:
        mysql_secure_installation

    MySQL is configured to only allow connections from localhost by default

    To connect run:  mysql -u root

    To start mysql now and restart at login:
      brew services start mysql
    Or, if you don't want/need a background service you can just run:
      /opt/homebrew/opt/mysql/bin/mysqld_safe --datadir\=/opt/homebrew/var/mysql

     

    3. mysql 위치

    which mysql

     

    4. mysql 계정 정보 확인

    select user, host, authentication_string from mysql.user;

     

    5. 그 외 데이터베이스 계정에 대한 추가 명령어들과 실행

     

    7.계정 로그아웃과 DB와 연결 해제

    # 계정 로그아웃
    mysql> exit
    mysql> quit
    
    # 서버 연결 해제
    mysql.server.stop

     

    이제 MySQL을 설치했으니 파이썬과 연동해봅시다!!

     

    파이썬과 연동하기

    1. 파이썬과 연동하기 위해 mysql-connector-python 설치합니다.

    pip install mysql-connector-python

     

    2. 4가지 정보를 활용하여 MySQL과 연결해줍니다.

    - IP 주소 : 127.0.0.1 터미널에 ifconfig|grep inet 입력하여 확인

    - 사용자, 암호, DB명 : 위에서 만든 계정 아이디와 패스워드, DB명을 사용한다

    """
    db = mysql.connector.connect(
            host="IP 주소",
            user="USER_ID",
            passwd="USER_PW",
            database="DB_NAME",
        )
    """
    conn = pymysql.connect(host='127.0.0.1', user = 'yj', password='dbwls0417', db = 'mydatabase',charset = 'utf8') 
    curs = conn.cursor(pymysql.cursors.DictCursor)

     

    3. 테이블을 생성합니다.

    sql = '''
    CREATE TABLE naver_news_articles( 
      date TEXT,  
      press TEXT, 
      title TEXT,   
      document TEXT, 
      link TEXT,
      large_cat TEXT
    );
    ''' 
    curs.execute(sql)

     

    4. 데이터를 삽입해줍니다.

    참고로 NULL 값이 있으면 "ProgrammingError: nan can not be used with MySQL" 이런 오류가 뜹니다. NULL 값 처리해주세요!

    for row in df_articles.itertuples():
        sql = '''insert into naver_news_articles(date, press, title, document, link, large_cat) values(%s,%s,%s,%s,%s,%s)'''
        curs.execute(sql, (row[0],row[1],row[2],row[3],row[4],row[5]))
    conn.commit()
    conn.close()

     

    5. 실제 데이터베이스에 들어갔는지 확인해볼까요? 터미널에 조회해보시면 됩니다!

    select * from mydatabase.naver_news_articles limit 1;

     

     

     

     

    참고 자료 

    [Database] mysql 설치 및 설정, 기본 계정 생성, 권한부여 With Ubuntu : 디어코딩

Designed by Tistory.