Category Archives: MariaDB

[MariaDB] Ubuntu에 MariaDB 설치하기

Ubuntu에 마리아DB를 설치해보자.

온갖 삽질 끝에 온전한 정답을 찾을 수 있었다.

더더군나나 사내망에서 설치하느라 눈물을 쏟았다.

엉엉

  1.  기본설치
    여기 로 가면 기본적으로 설치하는 방법이 나와있다.
    운영체제와 자신이 설치하려는 버전을 맞게 설정해줘야한다.

    sudo apt-get install software-properties-common
    sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
    sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.kaist.ac.kr/mariadb/repo/10.1/ubuntu trusty main'
    sudo apt-get update
    sudo apt-get install mariadb-server

    여기서 첫번쨰 위기가 찾아온다. apt-key에 proxy설정을 안해주면 키를 import를 못한다. adv 뒤에

    --keyserver-options http-proxy=<myProxy>

    를 붙여주자.
    그리고 설치하기전에

    sudo cat /etc/apt/sources.list
    

    명령어를 날려서 mariadb가 올바른 repo와 버전을 바라보고 있는지 확인하자.

    그외에는 저대로 그냥 따라서 명령어만 쳐주면 잘된다.

  2. 설정
    설정을 해줘야 한다. 그렇지 않으면 접근이 안된다. 그리고 한글이 안써진다.
    별다른 짓을 안했다면 설정파일의 위치는 /etc/mysql/my.conf 다.

    [client]
    default-character-set=utf8
    [mysqld]
    bind-address=0.0.0.0
    init_connect="SET collation_connection=utf8_general_ci"
    init_connect="SET NAMES utf8"
    character_set_server=utf8
    collation-server=utf8_general_ci
    [mysql]
    default-character-set=utf8
    [mysqldump]
    default-character-set=utf8

     

  3. 실행
    mysql -u root -p
    

    접속후

    show variables like 'c%';

    를 날려서 utf8로 아름답게 설정이 되어 있는지 확인해보자.

    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    | collation_connection     | utf8_general_ci            |
    | collation_database       | utf8_general_ci            |
    | collation_server         | utf8_general_ci            |
    | completion_type          | NO_CHAIN                   |
    | concurrent_insert        | ALWAYS                     |
    | connect_timeout          | 5                          |
    +--------------------------+----------------------------+
    
  4. 사용자 설정
    여기까지만 하면 접속이 될줄 알았는데 아니다. 사용자 별로 접근가능한 데이터베이스와 ip 주소를 설정해줘야 한다.

    GRANT ALL PRIVILEGES ON database.table TO 'user'@'host' [IDENTIFIED BY 'password']

    이런식으로 (테이블까지는 정의하지 않아도 된다.) 사용자 별로 외부에서 접속 할 수 있는 권한을 주면 된다.

힘들어따