$ [mysql경로] --default-character-set=utf8 -uroot -p -A -S [소켓 경로]
-uroot: 사용자를 루트 계정으로 접속하는 옵션
-S : mysql 의 소켓의 경로를 직접 지정하는 옵션 뒤에 소켓이 있는 경로를 적어야함
-p : 비밀번호를 사용해 접속하는 옵션
-A : (--no-auto-rehash) 자동 재해싱을 비활성화함.
자동 재해싱이란 테이블 및 컬럼 이름 완료를 활성화 시킨다.
테이블 및 컬럼이름 완료를 사용하고자 할 경우에는 rehash 명령어를 입력해야함
sed -i "s/^basedir=/basedir=${base_dir//\//\\/}\/mysql/g" mysql.server
sed -i "s/^datadir=/datadir=${base_dir//\//\\/}\/mysql\/data/g" mysql.server
sed : streamlined editor의 약자, vi 와 비슷한 역할을 하나 명령어를 사용할 때 파라미터 값으로 작업.
-i 옵션을 통해 파일 내용을 수정할 수 있다.
mysql.server 파일에 위의 base 디렉토리의 경로를 저장했다.
참고블로그 <- sed 명령어 참고 블로그
sed의 옵션
-e : 편집 커맨드 설정하기
-f : 편집 커맨드를 기술한 파일을 지정
-i : 파일 내용 변경
-n : 커맨드 결과 표시하지 않기
s/aa/bb/g는 파일 내의 모든 문자 치환 하기
일치하는 문자를 대체하는데 사용한다.
모든 라인에서 aa와 일치하는 문자를 찾아서 bb로 대체하는 명령어
sed -i "s/^basedir=/basedir=${base_dir//\//\\/}\/mysql/g" mysql.server
이 명령은 mysql.server 파일에서 basedir=
을 찾아서 ${base_dir//\//\\/}\/mysql
로 바꾸는 것이다
하지만 이 명령이 쉘 스크립트에서 사용하 것이기 때문에 $뒤에는 앞에서 정의한 변수로 바뀌어 저장된다.