[Ubuntu] Ubuntu-20.04 APM 소스 설치 - 2. MySQL
🌵 필수 패키지 설치
📌 필요 패키지
1) CMake
2) GNU make 3.75 이상
3) GCC 7.1 이상
4) C++ 또는 C99 컴파일러
5) SSL library : libssl-dev 로 다운
6) Boost C++ libraries : libboost-all-dev 로 다운
7) ncurses library : apt-get install libncurses5-dev libncursesw5-dev 로 다운
8) Perl
앞서 아파치를 설치할 때 설치한 패키지들을 제외하고 cmake
, libssl-dev
, libboost-all-dev
, libncurses5-dev libncursesw5-dev
만 진행했다.
$ apt-get update
$ apt-get install cmake
$ apt-get install libssl-dev
$ apt-get install libboost-all-dev
$ apt-get install libncurses5-dev libncursesw5-dev
💊 설치 여부 확인 방법
$ dpkg -l | grep [이름]
🌵 MYSQL 다운로드 및 설치
최신 버전 확인
https://dev.mysql.com/downloads/mysql/
📌 MySQL 8.0.28 소스설치 파일 다운로드 및 압축해제
$ cd /usr/local
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28.tar.gz
$ tar xvfz mysql-8.0.28.tar.gz
📌 MySQL 8.0.28 소스 설치
💊 make에서 너무 오랜 시간이 걸렸다.. 심호흡하고 여유 있을때 하자
메모리 오류도 엄청 나서 설치 3시간 반 이상, 메모리 오류 해결에만 1시간 이상이 걸렸따,,
$ cd mysql-8.0.25
$ rm -f CMakeCache.txt
$ mkdir dir_mysql(원하는 이름으로)
$ cd dir_mysql
$ cmake \
.. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/mysql/boost
$ make
$ make test
$ make install
make 과정중 이러한 오류가 나타났다.
블로그들과 구글 검색 (collection2: fatal error: ld termitated with signal 9[죽었음])을 해보면 메모리 오류여서 용량을 늘려야 한다고 한다.
💊 메모리 오류 해결 과정 1
https://velog.io/@mooh2jj/%EC%9A%B0%EB%B6%84%ED%88%AC-APM-%EC%86%8C%EC%8A%A4%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0#mysql-%EC%84%A4%EC%B9%98
처음에는 이 블로그의 주소를 참조해
#1, create an empty file
dd if=/dev/zero of=/media/swapfile.img bs=1024 count=1M
2, generate a file exchange system
mkswap /media/swapfile.img
3, set the boot
vi /etc/fstab
/media/swapfile.img swap swap sw 0 0
4, activate
swapon /media/swapfile.img
5. Is the verification successful?
[root@izwz956snfyrvah6yq8sa4z ~]# cat /proc/swaps
Filename Type Size Used Priority
/media/swapfile.img file 1048572 0 -2
[root@izwz956snfyrvah6yq8sa4z ~]# grep 'Swap' /proc/meminfo
SwapCached: 0 kB
SwapTotal: 1048572 kB
SwapFree: 1048572 kB
오류를 해결해보고 다시 make가 진행됐다.
💊 메모리 오류 해결 과정 2
이렇게 해결해 보고 다시 make를 진행했지만 얼마 안가서 또 같은 메모리 오류가 나타났다.
다른 블로그에서 swap file 용량을 늘리는 것으로 해결한 것을 보고 swap file 용량을 늘려 보았더니 그 다음부턴 막힘 없이 진행된다!
Ubuntu 20.04버전은 default로 2GB의 swap이 잡혀있다. 이를 늘려보자.
- 먼저 swap을 비활성화시킨다.
$ sudo swapoff -v /swapfile
fallocate
명령어로 메모리 크기를 조정하고, 권한을 설정한 다음mkswap
명령어로swapfile
을 만들고swapon
으로 활성화 시킨다.
swap을 8G로 설정한다.
$ sudo swapoff -v /swapfile
- 권한 설정
$ sudo chmod 600 /swapfile
- swap file 만들기
$ sudo mkswap /swapfile
- swap file 활성화
$ sudo swapon /swapfile
용량을 늘려 다시 make를 진행하는 모습이다!
🌵 참고 URL
https://jminie.tistory.com/91?category=1006530#%F-%-F%--%-C%--%C-%A-MySQL
https://yeni-days.tistory.com/7?category=1020921
https://happylulurara.tistory.com/139
https://happylulurara.tistory.com/137 - 디스크 용량
https://r-mango.tistory.com/6?category=900118 -- ㄲ
https://velog.io/@yeonii/LinuxUbuntu20.04-Mysql8.0.25-%EC%88%98%EB%8F%99%EC%84%A4%EC%B9%98 - swap file
https://mrkzet.tistory.com/23 - 우분투 vi 에디터
https://alkhwa-113.tistory.com/entry/Ubuntu-1804-%EC%97%90-MySQL-8021-%EC%88%98%EB%8F%99%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
Author And Source
이 문제에 관하여([Ubuntu] Ubuntu-20.04 APM 소스 설치 - 2. MySQL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ogu1208/Ubuntu-Ubuntu-20.04-APM-소스-설치-2.-MySQL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)