본문 바로가기
CS

mysql user 추가하기 (부제: mysql sudo 없이 접근하기)

by judy@ 2023. 7. 21.

DB 수업은 미치도록 열심히 들었으나, 딱 거기까지. 그 이후로 DB는 select로 데이터 보는 것만 했기 때문에, 유저 추가, 테이블 생성? 기억이 1도 나지 않는다ㅜㅜ 다시 처음부터 시작해보자.

 

이 글의 주요 내용은 mysql 설치 이후. sudo 권한 없이 접근하기 위하여 user를 추가하는 것이다.

 

목차

    1. sudo 권한으로 DB 접속

    먼저 mysql 에 sudo 권한으로 접속한다 (password는 아무 세팅이 되어있지 않으니, 그냥 엔터를 누르면 된다)

    # terminal
    $ sudo mysql -uroot -p
    Enter password:
    # DB
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 56
    Server version: 10.3.39-MariaDB-0+deb10u1 Debian 10
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>

    위를 보니, 현재는 어떤 DB에 접속되어 있지는 않은 상황이다.

     

    2. 데이터 베이스 전환 (none -> mysql)

    먼저 어떤 데이터베이스가 있는지 살펴본다. 3개의 데이터베이스가 있다.

    MariaDB [(none)]> show DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.013 sec)

     

    mysql 데이터베이스에 접근해보자

    MariaDB [(none)]> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed

     

    mysql 데이터 베이스에는 어떤 유저가 있는지 확인해보자. 아직은 아무 유저도 추가하지 않아 root 만 있다.

    MariaDB [mysql]> select user, host from user;
    +------+-----------+
    | user | host      |
    +------+-----------+
    | root | localhost |
    +------+-----------+
    1 row in set (0.000 sec)

     

    3. user 추가하기

    아래 두 줄의 명령어에 USERNAME과 PASSWORD에 사용할 정보를 입력하면 된다.

    > create user USERNAME@localhost identified by 'PASSWORD';
    > grant all privileges on *.* to USERNAME@localhost;

    예)

    MariaDB [mysql]> create user leejuyeon@localhost identified by '1234';
    Query OK, 0 rows affected (0.013 sec)
    
    MariaDB [mysql]> grant all privileges on *.* to leejuyeon@localhost;
    Query OK, 0 rows affected (0.000 sec)

     

    user 추가되었는지 확인하기

    MariaDB [mysql]> select user, host from user;
    +-----------+-----------+
    | user      | host      |
    +-----------+-----------+
    | leejuyeon | localhost |
    | root      | localhost |
    +-----------+-----------+
    2 rows in set (0.000 sec)

     

    4. sudo 없이 접속해보기

    설정한 유저명과 비밀번호로 접속하면 잘 된다!

    $ mysql -uleejuyeon -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 59
    Server version: 10.3.39-MariaDB-0+deb10u1 Debian 10
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>

     

     

    참고

    - https://stackoverflow.com/questions/37239970/connect-to-mysql-server-without-sudo

    - https://velog.io/@taelee/mysql-user확인-및-추가

    반응형