Embedded Linux

MySQL 설치 및 접속하기

작성자 임베디드코리아 작성일15-11-23 10:26 조회5,507회 댓글0건
1. mysql 검색
    $ sudo apt-cache search mysql-server

2. mysql 설치하기
  $ sudo apt-get install mysql-server-5.6
  $ apt-get install mysql-server

3.  외부에서 접속할 수 있도록 권한부여.
  1) mysql database에 로그인.
      $ mysql  -u    root    -p
      <외부에서 접근>
      $ mysql  -h    192.168.115.207  -P  3306    -u  root  -p

  2) default db 변경
      use mysql;

  3) 권한부어
      GRANT ALL PRIVILEGES ON *.*  to 'root'@'%' IDENTIFIED BY  'password';
      password => 어드민 패스워드 입력

  4) 즉시반영
      flush privileges;

4.  my.cnf 설정화일 변경
    $  sudo vi /etc/mysql/my.cnf
        bind-address = 127.0.0.1 이부분을 주석처리
5. mysql Server 재시작
    $ sudo /etc/init.d/mysql restart

6. 한글 설정
    1)  vi 에디터를 이용하여 my.cnf를 수정한다.
        $ sudo vi /etc/mysql/my.cnf 
      [mysqld]
      datadir=/var/lib/mysql
      socket=/var/lib/mysql/mysql.sock
      user=mysql
      character-set-server=utf8
      collation-server=utf8_general_ci
      init_connect = set collation_connection = utf8_general_ci
      init_connect = set names utf8

      [mysql]
      default-character-set=utf8
      [mysqld_safe]
      log-error=/var/log/mysqld.log
      pid-file=/var/run/mysqld/mysqld.pid
      default-character-set=utf8
    [client]
    default-character-set=utf8
      [mysqldump]
      default-character-set=utf  <내용을 추가>
 
      2) 설정내용확인
          mysql  -h 192.168.115.207  -P 3306  -u  root  -p

7. innodb
  1) InnoDB 개요
      - 트랜잭션-세이프 스토리지 엔진입니다.
      - MyISAM 과 비슷하지만 ORACLE 처럼 많은 기능을 지원을 합니다.
          (* commit, rollback, 장애복구, row-level locking, 외래키 등)
      - 다수의 사용자 동시접속과 퍼포먼스가 증가하여 대용량 데이터를 처리할 때 최대의 퍼포먼스를 내도록 설계되었습니다.
        - CPU효율은 어느 디스크 기반의 데이터 베이스와 비교해도 손색이 없고  자체적으로 메인 메모리 안에 데이터 캐싱과
          인덱싱을 위한 버퍼 풀(pool)을 관리합니다.
        - 테이블과 인덱스를 테이블 스페이스에 저장을 하고 테이블 스페이스는 몇개의 서버파일이나 디스크 파티션으로
          구성되어있습니다. 이것은 MyISAM 과 다른 점인데, MyISAM은 테이블과 인덱스를 각각 분리된 파일로 관리합니다.
          여기서 중요한것이 이제 InnoDB 를 제대로 사용을 하기 위해서는 테이블 스페이스 라는 개념을 파악을 하셔야합니다.
      - InnoDB 테이블은 OS의 파일 사이즈 한계가 2GB이더라도 상관없이 어느 크기나 가질 수 있습니다.
      - InnoDB는 높은 퍼포먼스가 필요한 대용량 사이트에 적합합니다.

    2) InnoDB 사용하기
        - InnoDB 는 MyISAM 과 공유하는 메모리도 있지만 별도의 Buffer pool을 가지고 있으므로
          InnoDB 전용 DB를 구성한다면 MyISAM 이 사용하는 record_boffer 과 key_buffer 에 너무 많은 메모리를 할당하지 말아야한다.
     
    $ sudo vi /etc/mysql/my.cnf
      <다음 내용을 추가 한다>
      innodb_data_home_dir = /var/lib/mysql
      innodb_data_file_path = ibdata1:10M:autoextend
      innodb_log_group_home_dir = /var/lib/mysql
      innodb_buffer_pool_size = 256M
      innodb_additional_mem_pool_size = 20M
      innodb_log_file_size = 64M
      innodb_log_buffer_size = 8M
      innodb_flush_log_at_trx_commit = 1
      innodb_lock_wait_timeout = 50