MariaDB를 기본 yum install mariadb 로 설치했을 경우 5.5 버전이 설치된다.

따로 repository 를 설정해야 상위버전을 설치할 수 있다.

1. mariadb repo 파일을 만든다.

    vi /etc/yum.repos.d/MariaDB.repo

    아래 내용을 복사해서 붙여넣는다. ( i 입력 후 편집모드로 바꾼 후 붙여넣는다.)

     ------------------------------------------------------------------------------------

[mariadb] 

name = MariaDB 

baseurl = http://yum.mariadb.org/10.1/centos7-amd64  

baseurl = https://archive.mariadb.org/mariadb-10.1/yum/centos7-amd64 

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 

gpgcheck=1

     ------------------------------------------------------------------------------------

   편집종료(ESC키 입력)하고 저장 후 종료한다. ( :wq 입력 )

 

2. yum 으로 mariadb를 설치한다.

   yum install -y MariaDB MariaDB-server MariaDB-client

 

3. 서버설정파일을 설치된 설정파일로 변경한다.

    cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

 

4. UTF-8 , max_allowed_packet 1G 및 테이블명 대소문자 구분안하도록 설정을 추가한다.

    vi /etc/my.cnf

    ----------------------  [mysqld] 를 찾아서 그 아래에 추가 또는 수정해준다. ---------------

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

max_allowed_packet=1073741824

lower_case_table_names=1

--------------------------------------------------------

편집종료(ESC키 입력)하고 저장 후 종료한다. ( :wq 입력 )

 

5.  mariadb 서버 시작

     service mariadb start 또는 systemctl start mariadb

     

     * 부팅시 자동시작되도록 하려면

        : systemctl enable mariadb

 

6. root 패스워드 보안 등 한번에 설정하기

     mysql_secure_installation        

 

7. mysql 를 root 계정으로 접속해본다.

    mysql -u root -p  

 

 

 

8. database 생성

     create database [데이타베이스명] default character set utf8 collate utf8_general_ci;

    

     * 잘 만들어졌는지 확인

       show databases;

 

9. 유저생성/권한셋팅

    유저생성 : create user '유저아이디'@'localhost' identified by '비밀번호';  

 

   권한 :  GRANT ALL PRIVILEGES ON *.* TO '유저아이디'@'서버아이피번호' IDENTIFIED BY '유저비밀번호' WITH GRANT OPTION;

 

//DB사용자권한보기

SHOW GRANTS FOR '사용자계정'@'%' ; 

 

//현재 생성된 함수나 프로시저 목록 

 

SELECT * FROM information_schema.ROUTINES 

 

//SP 권한주기 

GRANT SELECT, INSERT, UPDATE, DELETE ON mysql.proc TO 'DB유저'@'호스트' 

 

//모든 권한을 준다면 아래와 같은 방법을 하는것이 더욱 편리힙니다. 

 mysql> GRANT ALL on DB명.* TO id@'localhost'  ; 

 mysql> GRANT ALL on DB명.* TO id; 

 mysql> GRANT ALL on DB명.* TO id@'xxx.xxx.xxx.%';

 

/db user보기 

select host, user, password from mysql.user;

 

//컬럼 add 

ALTER TABLE '테이블명' ADD COLUMN '컬럼명' VARCHAR(5) NULL DEFAULT '0' COMMENT '논리적컬럼명' AFTER '어느컬럼뒤에추가할것인가?여기에 기존컬럼명'; 

 

//컬럼삭제 

ALTER TABLE '테이블명' 

DROP COLUMN '삭제할 컬럼명'; 

 

//DB DUMP (백업방법)

mysqldump -u 사용자명 -p --routines 백업할데이타베이스명> 원하는백업파일명.sql 

 

//DB복구 

mysql -u 사용자명 -p --default_character_set utf8 복구할데이타베이스명 < 위에서만들어진덤프파일.sql 

 

//table빼고 sp만 dump뜰때 

mysqldump -u 사용자명 -p --routines --no-create-info --no-data --no-create-db --skip-opt 백업할데이타베이스명 > 원하는백업파일명.sql

 

//최종 권한적용

FLUSH PRIVILEGES;

 

만족하셨나요? ~~~~~~~

 

 

 

+ Recent posts