01 - systemctl 데이터베이스 Service 파일 정리
방안 1: 표준 운영 데몬 구성
|
|
방안 2: 설정 파일 및 파일 핸들 제한 포함
|
|
수정 완료 후
|
|
02 - 멀티버전 MySQL (5.6 / 5.7) 설치 및 업그레이드 준비 실전
1단계: 소프트웨어 아카이브 다운로드
|
|
2단계: 압축 해제, 설치 및 심볼릭 링크 생성
|
|
3단계: 데이터베이스 소프트웨어 초기화
-
MySQL 5.7 초기화 (데이터 디렉터리 3357):
1 2 3 4 5[root@master local]#mkdir -p /data/3357/data [root@master local]#chown -R mysql.mysql /data/3357/data [root@master local]#/usr/local/mysql57/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/3357/data --basedir=/usr/local/mysql57 [root@master local]#echo $? 0 -
MySQL 5.6 초기화 (데이터 디렉터리 3356):
1 2 3 4 5 6 7 8 9 10 11[root@master local]#mkdir -p /data/3356/data [root@master local]#chown -R mysql.mysql /data/3356/data [root@master local]#/usr/local/mysql56/scripts/mysql_install_db --user=mysql --datadir=/data/3356/data --basedir=/usr/local/mysql56 FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql56/scripts/mysql_install_db: Data::Dumper # Perl 모듈 누락 [root@master local]#yum install -y perl-Data-Dumper [root@master local]#/usr/local/mysql56/scripts/mysql_install_db --user=mysql --datadir=/data/3356/data --basedir=/usr/local/mysql56 # 출력에 OK 두 개가 포함되는지 확인하고 종료 코드를 확인: [root@master local]#echo $? 0
4단계: 다중 인스턴스 전용 설정 파일 작성
-
MySQL 5.7 (인스턴스 3357) 설정:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27[root@master local]#vim /etc/my3357.cnf [mysql] socket=/tmp/mysql3357.sock [mysqld] user=mysql basedir=/usr/local/mysql57 datadir=/data/3357/data socket=/tmp/mysql3357.sock port=3357 pid-file=/run/mysqld3357/mysqld.pid [root@master local]#vim /usr/lib/systemd/system/mysqld3357.service [Unit] Description=MySQL 5.7 Server (3357) After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql57/bin/mysqld --defaults-file=/etc/my3357.cnf RuntimeDirectory=mysqld3357 LimitNOFILE=65536 Restart=on-failure [Install] WantedBy=multi-user.target -
MySQL 5.6 (인스턴스 3356) 설정:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27[root@master local]#vim /etc/my3356.cnf [mysql] socket=/tmp/mysql3356.sock [mysqld] user=mysql basedir=/usr/local/mysql56 datadir=/data/3356/data socket=/tmp/mysql3356.sock port=3356 pid-file=/run/mysqld3356/mysqld.pid [root@master local]#vim /usr/lib/systemd/system/mysqld3356.service [Unit] Description=MySQL 5.6 Server (3356) After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql56/bin/mysqld --defaults-file=/etc/my3356.cnf RuntimeDirectory=mysqld3356 LimitNOFILE=65536 Restart=on-failure [Install] WantedBy=multi-user.target
5단계: 실행, 시작 및 관리 검증
-
MySQL 5.7 서비스 시작/중지:
1 2 3 4 5 6 7 8 9 10 11# 방식 1: 시작 [root@master local]#cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld57 [root@master local]#chmod +x /etc/init.d/mysqld57 [root@master local]#/etc/init.d/mysqld57 start [root@master local]#/etc/init.d/mysqld57 stop # 방식 2: 시작 [root@master local]#systemctl daemon-reload [root@master local]#systemctl start mysqld3357.service [root@master local]#systemctl enable mysqld3357.service Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld3357.service to /usr/lib/systemd/system/mysqld3357.service. -
MySQL 5.6 서비스 시작/중지:
1 2 3 4 5 6 7 8 9 10 11# 방식 1: 시작 [root@master local]#cp /usr/local/mysql56/support-files/mysql.server /etc/init.d/mysqld56 [root@master local]#chmod +x /etc/init.d/mysqld56 [root@master local]#/etc/init.d/mysqld56 start [root@master local]#/etc/init.d/mysqld56 stop # 방식 2: 시작 [root@master local]#systemctl daemon-reload [root@master local]#systemctl start mysqld3356.service [root@master local]#systemctl enable mysqld3356.service Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld3356.service to /usr/lib/systemd/system/mysqld3356.service.
세 서비스 상태 검증 (모두 running)
|
|