2015년 8월 15일 토요일

리눅스 서버 알아보기_09. Mysql서버

1. 설치
  1) mysql 설치, 압축풀기
>tar xvfz mysql~~.tar.gz

  2) configure
 >./configure \
   --prefix=/apm/mysql \
   --with-charset=euc_kr \ -->한글정렬사용 옵션
   --localstatedir=/apm/mysql/data -->물리 자료 저장 위치

  3) make
>make;make install    <--2개 명령어 같이 진행

mysql의 경우
>/bin/mysql_install_db
      <--이걸 실행해야 최초 실행준비 상태가 됨

mysql 실행파일
>safe_mysqld &   <--프로세서(백그라운드)로 실행한다.
    근데 실행해도 프로세서가 뜨는게 안보임
    이유
    실행계정이 mysql, mysql
    다른 서버의 경우 : nobody, nobody
  첫번재 계정문제를 해결해야 함. + 권한은 시스템 계정 권한
>useradd mysql
>groupadd mysql

 두번째 소유권 문제 mysql 은 master 권한이 필요함

>chown -R root /mysql
>chown -R mysql /mysql/data
>chgrp -R mysql /mysql
   : chown 소유권 변경
   : chgrp 그룹 소유권 변경

>ls 하면 소유권은 root 이나 그룹 은 mysql로 변경됨

> ./safe_mysqld &
엔터
>ps -ef|grep mysqld
~~~~ 뜨면 성공

2. 실행(쿼리 분석기 실행)
>./mysql
~~~~
mysql>show databases;
~~~db 목록 보여줌
mysql>use db목록중 하나 선택;
mysql>show tables;
~~~해당 db밑의 table 목록을 보여준다.

mysql> select user(); <--누구로 접속했는지 확인
mysql>exit  <--쿼리 분석기 종료


>vi /etc/rc.d/rc.local <-- 자동 시작 추가
~~~~
rdate -s time.bora.net
/apa/apache/bin/apachectl start
/mysql/bin/safe_mysqld &

중지
killall mysqld

프로세스 확인
ps -ef|grep mysqld

3. 권한관리(mysql 접속 pass설정)
>vi member.sql
create table member2
(
    unum    int auto_insrement primary key,
    uname   varchar(20) not null,
    uage     tinyint default 0
);

>mysql mydb <member.sql
  -> 이런식으로 실행 가능 mysql db명 <(쿼리작성 파일명)

  1) mysql 에 패스워드 붙이기
      mysql 최고 계정은 root@
    해당 정보는 mysql db에 user 테이블안에 보유

mysql>use mysql
mysql>show tables
~~~~~~
user

**** 컬럼이 많아서 그냥 보기엔 좀 힘드니 보통 3개정도가
      가장 중요한 정보로 많이 보게된다.
mysql>select host, user, password from user;

password를 업데이트문을 사용해 변경 하고 이를 msyql
       daemon에 반드시 알려줘야 되는데 이를
       아래 명령을 통해서 하고 있다.
mysql>flush privileges

이후 로그인 진행시(pass가 있어서 root만 적으면 접근이 제한)
mysql -u root -p 엔터
   password입력 후 msyql 컨텐츠를 즐기세요

4. 백업 및 복구
  1) 백업
mysqldump [db명] > [백업명] -u root -p 112121 -h localhost(로컬호스트는 생략가능)

  2) 복구
mysql < [백업명] -r root -p1


  3) mysql 쵝고 계정을 분실시
    mysql daemon kill

    mysql 시작시 mysqlDB user 테이블 정보 인식하지 않고 시작
    ==> 계정 몰라도 시작 할 수 있음(root 계정만 가능)

또는
safe_mysqld -skip-grant-tables &
--> 해당 명령어도 마찬가지로 root만 조작 가능


댓글 없음:

댓글 쓰기