CentOS 7 MySQL 5.5.62 소스 코드 컴파일 설치

## MySQL 설치 전 필수 조건

cd /usr/local/src/
yum install -y wget vim epel-release
얌 설치 -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
얌 업데이트 -y

## CentOS 7 기본 환경 변수 설정

에코 “” >> /etc/profile
echo “####default PATH#####” >> /etc/profile
echo “내보내기 경로=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:” >> /etc/profile
에코 “######################” >> /etc/profile

## 소스코드 설치 설치 패키지 환경

yum 설치 -y libdb-devel enchant-devel libxslt libxslt-devel net-snmp-devel readline-devel readline aspell-devel unixODBC unixODBC-devel libicu-devel icu libicu libc-client libc-client-devel libc-client-2007f freetype- devel freetype* freetype libXpm-devel libpng-devel libpng* libvpx-devel libvpx libcurl libcurl-devel curl* curl-devel curl tcp_wrappers-devel libzip 환경 모듈 uw-imap-utils uw-imap-devel uw-imap uw-imap-static pam-devel libldb-devel openldap-devel cyrus-sasl-devel bzip2-devel bzip2 bzip2-libs ncurses-devel ncurses mysql-devel libjpeg-devel libjpeg* libjpeg-devel openssl-devel openssl* openssl-libs libxml* libxml2 libxml2-devel libmcrypt libmcrypt-devel libmcrypt* mcrypt mhash* mhash mhash-devel libmhash libmhash-devel expat-devel expat expat* gmp* gmp gmp-devel krb5* krb5-devel db4 db4-devel wget make cmake libtool* pcre* gdbm* gdbm gdbm- devel libtiff* libtiff libtiff-devel 플렉스 zlib* zlib-devel zlib gd* gd gd-devel 패치 t1lib t1lib-devel readline libe dit-devel libtidy libtidy-devel g cc* gcc gcc-c++ libtermcap-devel dialog sqlite-devel oniguruma oniguruma-devel libzip5 mod_ssl postgresql-devel lcov systemtap-sdt-devel mod_ldap elfutils-devel libwebp-devel libwebp git gzip libnghttp2-devel valgrindline patchelfatch* editline systemd-devel ImageMagick- devel libzstd-devel libffi libffi-devel libraqm-devel libraqm libsodium libsodium-devel

## CentOS 6 이하용 저장소 설정

mkdir /usr/kerberos
ln -s /usr/lib64 /usr/kerberos/lib

## PHP imap 관련 모듈 64비트 32비트 라이브러리 호환성 설정

ln -s /usr/lib64/libc-client.a /usr/lib/libc-client.a
/usr/include/db.h 링크 해제
ln -s /usr/include/libdb4/db.h /usr/include/db.h
ln -s /usr/include/sqlext.h /usr/local/include/sqlext.h
ln -s /usr/lib64/libgdbm_compat.so /usr/local/lib64/libdbm.so

## openldap 호환

\cp -arpf /usr/lib64/libldap* /usr/lib/
ln -sf /usr/lib64/libm.so /usr/lib/libm.so
ln -sf /usr/lib64/libssl.so /usr/lib/libssl.so

## libXpm 모듈 32비트 호환

ln -s /usr/lib64/libXpm.so /usr/lib/
ln -s /usr/lib64/libXpm.so.4 /usr/lib/
ln -s /usr/lib64/libXpm.so.4.11.0 /usr/lib/

## PHP 이미지 모듈 64비트 32비트 라이브러리 호환성 설정

ln -s /usr/lib64/libjpeg.so /usr/lib
ln -s /usr/lib64/libpng.so /usr/lib

## MySQL 계정 만들기

그룹 추가 -g 400 mysql
useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql

## MySQL 다운로드 및 배포

mkdir /usr/local/src/APM_Setup
cd /usr/local/src/APM_Setup
wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.62.tar.gz
또는
wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/mysql-5.5.62.tar.gz
tar zxvf mysql-5.5.62.tar.gz
cd /usr/local/src/APM_Setup/mysql-5.5.62

## MySQL 컴파일 설정 및 설치

. /구성 \
–prefix=/usr/local/mysql\
–localstatedir=/usr/local/mysql/data \
–with-mysqld-user=mysql \
–with-charset=utf8
–sysconfdir=/etc\
–with-extra-charsets=모두 \
–공유 활성화\
–with-plugins=max,max-no-ndb,필수 \
–스레드 안전 클라이언트 활성화\
–어셈블러 활성화\
–with-tcp-port=3306 \
–with-readline \
–with-mysqld-ldflags=-all-static \
–with-client-ldflags=-all-static \
–디버그 없음 \
–with-plugins=innobase \
–enable-local-infile\
–프로파일링 활성화\
–enable-local-infile\
–큰 파일 활성화 \
–큰 테이블 포함\
–사진 포함 \
–with-libwrap\
–주석 포함 \
–with-gnu-ld \
–with-pthread \
–with-unix-socket-path=/tmp/mysql.sock
확인 -j && 설치

## MySQL 구성 파일 생성 및 시작 스크립트 생성

\mv -f /etc/my.cnf /etc/my.cnf_source_before
\cp -arpf ./support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
\cp -arpf ./support-files/mysql.server /etc/init.d/mysqld
sed -i ‘s/skip-locking/skip-external-locking/g’ /etc/my.cnf
sed -i ‘s/#external-locking/skip-external-locking/g’ /etc/my.cnf

## 데이터베이스 초기화

/usr/local/mysql/bin/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

## 데이터베이스 디렉토리 생성 및 권한 속성 설정

mkdir -p /usr/local/mysql/tmp
mkdir -p /usr/local/mysql/log
chown -R mysql:mysql /usr/local/mysql
chmod 700 /etc/init.d/mysqld
chmod 711 /usr/local/mysql
chmod 751 /usr/local/mysql/bin
chmod 750 /usr/local/mysql/bin/*
chmod 755 /usr/local/mysql/bin/mysql
chmod 755 /usr/local/mysql/bin/mysqldump
ln -s /usr/local/mysql/lib/ /usr/local/mysql/lib64

## MySQL 비밀번호 설정

/etc/init.d/mysqld 재시작
/usr/local/mysql/bin/mysqladmin -u 루트 암호 “설정할 암호”

## MySQL 환경 변수 설정

아래 구성에는 Apache, MySQL 및 PHP 섹션이 포함되어 있습니다.


에코 “” >> /etc/profile
echo “APACHE_HOME=/usr/local/apache” >> /etc/profile
echo “MySQL_HOME=/usr/local/mysql” >> /etc/profile
echo “PHP_HOME=/usr/local/php” >> /etc/profile
에코 “” >> /etc/profile
에코 “내보내기 경로=”\$”APACHE_HOME/bin:”\$”MySQL_HOME/bin:”\$”PHP_HOME/bin:”\$”PHP_HOME/sbin”\$”{경로:+:”\$”{ 경로}}” >> /etc/profile
소스 /etc/구성 파일

단순히 DB만 조작하고 싶다면 위 명령어 대신 아래 명령어를 입력하면 된다.


에코 “” >> /etc/profile
echo “MySQL_HOME=/usr/local/mysql” >> /etc/profile
echo “내보내기 PATH=”\$”MySQL_HOME/bin:”\$”{PATH:+:”\$”{PATH}}” >> /etc/profile
에코 “” >> /etc/profile
소스 /etc/구성 파일