개인적인 정리

MySQL 설치(소스 컴파일, 5.1 버전) 본문

DB/MYSQL

MySQL 설치(소스 컴파일, 5.1 버전)

yeon.Biju 2021. 7. 11. 16:59

기 개발된 MySQL이 5.1 버전이어서... 개발서버용으로 MySQL 5.1 버전을 설치해봤다. 얼마만에 설치해보는 것인지 모르겠다.

이번에 설치하게 된 것은 5.1 버전의 data를 export 해서 5.7 에서 import 를 해보니 오류가 나서 데이타를 확인해보고자 설치하였다.

 

설치하기 위해서 2007년도에 MySQL 설치했던 문서와 8.x 버전을 소스 컴파일해서 설치해봤었던 문서를 참고하였다. 

MySQL 5.7 또는 MySQL 8.x 버전 설치는 아래 URL을 참고한다.

https://webobj.tistory.com/7

 

6. MySQL 설치(소스 컴파일, 5.7, 8.x 버전)

OS : Cent Os CentOS Linux release 8.0.1905 (Core) MySQL : MySQL-8.0.18 또는 MySQL5.7.28 #ps -ef | grep mysql #rpm -qa | grep mysql #cd /usr/local/src #wget https://dev.mysql.com/get/Do..

webobj.tistory.com

이번에 설치한 옵션등은 정말 대충이다. 설치 이유가 데이타를 잠시 확인하고자 하는 목적이라 옵션이 중요한게 아니라 대충 설치가 되어서 돌아가면 그만일 뿐이니까.

 

DB는 정말... 쉽게 바뀌지 않는 것 같다. 5.1버전을 설치하기 위해서 2007년에 작성해놓은 문서를 꺼내어본다니. 음... 개인적인 관점에서는 버전을 좀 올리는 것이 좋지 않을까라고 의심해본다.

 

 

* 설치를 위한 작업은 모두 root 로 작업하였다. 그래서 # 을 빼고 명령어를 기술하고자 한다. #을 넣어놓으니 copy & paste 할 때 자꾸 #이 따라와서 빼고 작성을 해본다.* 설치환경은 vmware 에 centOS 를 올려서 작업을 해봤다. (cent OS 는 CentOS-8-x86_64-1905-dvd1.iso 파일을 사용함)

 

 

* 간략버전 

   - 설치 시 에러가 없다는 전제하에서 명령어만 기술해본다.

   - make install 까지 실행이 되면 공통설정부분으로 넘어간다.

1
2
3
4
5
6
7
8
9
10
11
12
13
cd /usr/local/src
 
wget https://cdn.mysql.com/archives/mysql-5.1/mysql-5.1.73.tar.gz
 
tar xvzf mysql-5.1.73.tar.gz 
 
cd mysql-5.1.73/
 
./configure --prefix=/usr/local/mysql --libexecdir=/usr/sbin --sysconfdir=/etc --localstatedir=/usr/local/mysql_data --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user=mysql --with-charset=utf8 CXXFLAGS="-Wno-narrowing -fpermissive"
 
make
 
make install
cs

 

* 상세버전

   - 설치 시 내가 만난 에러들과 해결방법을 같이 기술해본다. 설치할 때 에러를 만나지 않는 경우가 더 힘든 것 같다.

1
2
3
4
5
6
7
8
9
cd /usr/local/src
 
wget https://cdn.mysql.com/archives/mysql-5.1/mysql-5.1.73.tar.gz
 
tar xvzf mysql-5.1.73.tar.gz 
 
cd mysql-5.1.73/
cs

configure 실행

1
./configure --prefix=/usr/local/mysql --libexecdir=/usr/sbin --sysconfdir=/etc --localstatedir=/usr/local/mysql_data --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user=mysql --with-charset=utf8
cs

다음과 같은 에러가 발생한다.

checking for termcap functions library... configure: error: No curses/termcap library found

해결은 아래와 같다. 설치를 통해 해결한다.

1
yum -y install ncurses-devel
cs

다시 configure 를 실행한다.(동일하게)

1
./configure --prefix=/usr/local/mysql --libexecdir=/usr/sbin --sysconfdir=/etc --localstatedir=/usr/local/mysql_data --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user=mysql --with-charset=utf8
cs

 

이번엔 make 실행

1
make
 

또 에러가 발생한다. 이번에 발생한 에러는 다음과 같다.

../depcomp: line 571: exec: g++: not found
make[1]: *** [Makefile:732: my_new.o] Error 127

이번에도 설치를 통해 해결한다.

1
yum install -y gcc-c++
cs

다시 make 를 실행한다.

1
make
cs

그랬더니 또 에러가 발생한다.

tions -fno-rtti -c -o my_new.o my_new.cc
In file included from mysys_priv.h:16,
from my_new.cc:24:
../include/my_global.h:1110:15: error: redeclaration of C++ built-in type ‘bool’ [-fpermissive]
typedef char bool; /* Ordinary boolean values 0 1 */
                 ^~~~
make[1]: *** [Makefile:732: my_new.o] Error 1
make[1]: Leaving directory '/usr/local/src/mysql-5.1.73/mysys'
make: *** [Makefile:495: all-recursive] Error 1

이번엔 configure 옵션을 변경해서 해결한다.

configure 옵션 맨 뒤에 CXXFLAGS="-Wno-narrowing -fpermissive" 를 붙여주었다.

그래서 configure 최종 구문은 아래와 같이 달라졌다. 다시 변경된 구문으로 configure 를 실행한다.

1
./configure --prefix=/usr/local/mysql --libexecdir=/usr/sbin --sysconfdir=/etc --localstatedir=/usr/local/mysql_data --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user=mysql --with-charset=utf8 CXXFLAGS="-Wno-narrowing -fpermissive"
cs

이제 다시 make 를 실행한다.

1
make 
cs

이제는 make install 실행.

1
make install
cs

make install 이 완료가 되면 아래 공통설정 부분으로 넘어가서 계속 작업을 해준다.

 

* 공통 설정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
groupadd mysql
useradd --g mysql -/bin/false mysql
 
cd /usr/local/mysql/bin
./mysql_install_db
 
ls -al /usr/local/mysql_data
 
chown -R mysql.mysql /usr/local/mysql_data
chmod 750 /usr/local/mysql_data
 
mkdir /var/lib/mysql 
chown -R mysql.mysql /var/lib/mysql
chmod 750 /var/lib/mysql 
./mysqld_safe --user=mysql &
 
ps -ef | grep mysql
 
cd /usr/local/mysql/bin
./mysqladmin -u root password "패스워드"(password뒤에 한칸 반드시 띄어준다)
 
cd /usr/local/src/mysql-5.1.73/support-files/
install -m644 my-medium.cnf /etc/my.cnf
 
cs

 

./mysqld_safe --user=mysql &  는 MySQL을 시작하는 명령어이다.

./mysqladmin -u root password "패스워드"(password뒤에 한칸 반드시 띄어준다) 로 MySQL root 비밀번호를 설정한다.

my.cnf 파일을 이용해서 MySQL 환경설정을 할 수 있다.

 

 

위와 같이 했으면 MySQL 디렉토리(/usr/local/mysql/bin) 에서 아래와 같이 실행하여 로그인을 해본다. 로그인을 성공한다면 설치가 잘 된 것이다. 

1
./mysql -uroot -p
cs

 

또는 ps -ef | grep mysql 를 이용해서 설치여부를 확인할 수 있다. 아래와 같이 확인이 가능하다.

 

 

Done.

'DB > MYSQL' 카테고리의 다른 글

MySQL autocommit  (0) 2021.09.11
MySQL 인덱스 확인  (0) 2021.09.02
DBeaver 다운로드  (0) 2021.09.01
[MySQL] IFNULL - SELECT 문에서 NULL 값 대체/치환  (0) 2021.07.22
[MySQL] 칼럼 추가 / 삭제  (0) 2021.02.04
MySQL 에서 날짜함수에 사용되는 지정자  (0) 2020.04.01
MySQL 에서 INTERVAL 에 쓸 수 있는 것들  (0) 2020.04.01
MySQL NULLIF()  (0) 2020.03.19
Comments