일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 |
29 | 30 | 31 |
- spring form tag
- @RequestBody
- DB
- 문자열
- 이클립스
- java
- 네이버스마트 에디터
- 스크립트
- MYSQL
- 웹 플랫폼 설치 관리자
- SSL
- 전자정부 표준프레임워크
- RADIO
- switch
- html
- Oracle
- 톰캣
- checbox
- 날짜
- 오라클
- exception
- json
- 한글
- 호환성
- null
- php
- HTML5
- maven
- jquery
- JSTL
- Today
- Total
개인적인 정리
MySQL 설치(소스 컴파일, 5.1 버전) 본문
기 개발된 MySQL이 5.1 버전이어서... 개발서버용으로 MySQL 5.1 버전을 설치해봤다. 얼마만에 설치해보는 것인지 모르겠다.
이번에 설치하게 된 것은 5.1 버전의 data를 export 해서 5.7 에서 import 를 해보니 오류가 나서 데이타를 확인해보고자 설치하였다.
설치하기 위해서 2007년도에 MySQL 설치했던 문서와 8.x 버전을 소스 컴파일해서 설치해봤었던 문서를 참고하였다.
MySQL 5.7 또는 MySQL 8.x 버전 설치는 아래 URL을 참고한다.
이번에 설치한 옵션등은 정말 대충이다. 설치 이유가 데이타를 잠시 확인하고자 하는 목적이라 옵션이 중요한게 아니라 대충 설치가 되어서 돌아가면 그만일 뿐이니까.
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 -r -g mysql -s /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 |