::: Zany's Homepage ::: Zany Wiki | 사이트 통합 검색
 
 
 

일반계정으로 MySQL compressed TAR 설치시, startup shell script.

게시판
MySQL
작성자
Zany
작성일
2014-10-31 10:55:42
읽은수
2292
평점
   
표시옵션
HTML사용 | 자동BR태그 | 공백문자허용 | 가운데정렬 | 고정폭글꼴 | 자동URL링크 | 마우스선택
일반 계정, 수동 설치시 사용함. (root 계정으로 yum 을 통해 설치하는 것 아님)


mysql 5.7.x 버전 설치는 http://home.zany.kr:9003/board/bView.asp?bCode=18&aCode=14306

MySQL tar.gz 은 http://www.mysql.com 접속 후,
Downloads - MySQL Community Edition - MySQL Community Server 드가서
Linux Generic 옵션 선택하고 Compressed TAR 를 받으면 된다.

http://dev.mysql.com/downloads/mysql/

관련 라이브러리만 설치되어 있다면 압축 해제만으로 설치 끝.
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 요기서 안내하는 대로 명령어 수행.
● $MYSQL_HOME 환경변수가 선언되어 있다고 가정한다.

cd $MYSQL_HOME
./scripts/mysql_install_db --user=mysql 이 명령이 핵심.
사용자 종속적으로 설치할 경우, 위 링크에 제시된 mysql:mysql 을 쓰지말고, zany:dba 와 같은 걸로도 구성 가능

Can't create test file /var/lib/mysql 어쩌구 하는 메시지가 나오면,
--basedir 과 --datadir 옵션으로 디렉토리를 수동으로 지정해 준다.

cd $MYSQL_HOME
./scripts/mysql_install_db --user=zany \
--basedir=/home/zany/opt/mysql \
--datadir=/home/zany/opt/mysql/data

# mysql 5.7 부터는 아래 명령 수행.
cd $MYSQL_HOME
./bin/mysqld --initialize --user=zany \
--basedir=/Users/zany/usr/local/mysql \
--datadir=/Users/zany/usr/local/mysql/data

cd $MYSQL_HOME
./bin/mysql_ssl_rsa_setup \
--datadir=/Users/zany/usr/local/mysql/data
방화벽 사용시, CentOS 기준 /etc/sysconfig/iptables 에 3306 포트가 등록되어 있는지 반드시 확인한다.

● 아래 링크를 참고하여 기동,종료,프로세스확인 등의 스크립트를 생성하고 my.cnf 환경 파일을 구성한다.
http://home.zany.kr:9003/board/bView.asp?bCode=18&aCode=14307


요기까지 하면, 아래와 같은 명령으로 mysql root 초기 비밀번호를 설정하려 할 것이다.

그런데 안된다.
아래와 같은 메시지가 우리를 반겨줄 것이다. (잘되는 사람은 운좋게 권한 설정이 맞아 떨어진거다)

기동도 잘되었고, 로그도 이상이 없는데... 접속만 안된다.

하하... 왜 안되냐면. socket 위치로 지정된 일반 사용자 계정(zany) 디렉토리(/home/zany)의 권한이
700 이기 때문에 네트워크 프로세스가 해당 파일을 읽을 수가 없는 것이다.
(root 계정을 사용하여 yum 으로 간편히 설치한게 아니다, 일반 사용자 계정으로 설치했고 이 계정만을 위해 mysql 을 운용할꺼다)

해결 방법은 간단하다.
보통 일반적인 리눅스는 /tmp 디렉토리를 공용 디렉토리로 사용한다. 권한이 777 이라는 얘기다.
일단 mysql.sock 의 위치는 /home/zany/opt/mysql/tmp/mysql.sock 으로 변함이 없다.

걍, 가뿐하게 /tmp 디렉토리를 이용하자.

일단 mysql 은 종료시키고...
위에서 정의했던 my.cnf 의 socket= 구문에 /tmp/mysql.sock 이라고 지정하자...
mysql_shutdown 스크립트의 socket 위치도 당연히 /tmp/mysql.sock 으로 지정해야 한다.

이렇게 하기 싫다, 난 무조건 내 계정 디렉토리내에서 모든걸 하고 싶다 하면...
모든 설정을 그대로 두고, /home/내계정 디렉토리의 권한을 777 로 줘야 한다.
(그러고 싶은가?)


게시물이 도움이 되셨으면 +1 을 눌러주세요~
 게시판 글 목록
No Subject Poster Hits Posted
14307 Zany 181 2018-05-07 02:15:24
14306 Zany 272 2018-05-07 01:47:31
13492 Zany 1227 2016-07-06 02:36:36
Zany 2292 2014-10-31 10:55:42
8757 Zany 1830 2014-07-04 13:14:50
8275 Zany 1961 2014-05-06 10:34:10
7044 Zany 2086 2013-12-10 14:18:14
7043 Zany 1890 2013-12-09 21:12:05
5008 Zany 4555 2013-07-16 21:38:02
댓글 달기 - 이 글이 도움이 되었거나 흥미로우셨다면, 댓글을 남겨주세요.(^^)(oo)(__)
작성자
                       
 
zany.kr
  Copyright ⓒ 2002-2010 Zany's Programming Lab. All Rights Not Reserved.
temporary This Page loads on 0.047 Secs