개발자의 노트
반응형

설치된 게 있으면 삭제 (안해도 됨)

# rpm -e --nodeps mysql-5.0.95-1.el5_7.1

혹은

# yum remove mysql-5.0.95-1.el5_7.1


의존성 패키지 설치

# yum install cmake gcc gcc-c++ cpp compat-gcc-32-g77 flex bison

# yum install libpng-devel libjpeg-devel freetype-devel gd-devel ncurses-devel

먼저, 기존에 mysql이 설치되어있는지 확인

# rpm -qa | grep mysql

mysql-5.0.95-1.el5_7.1

 

mysql 사용자를 등록하고 (–M 옵션은 사용자 홈디렉토리를 만들지 않겠다는 것임)

# groupadd mysql

# useradd –g mysql mysql –M

 

mysql의 데이터는 /data/mysql 폴더에 따로 저장하자.

# mkdir –p /data/mysql

# chown –R mysql:mysql /data/mysql

 

이제 mysql를 설치하자. (5.5.28).

# mkdir -p /data/mysql

# cd /usr/local/src

# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz/from/http://cdn.mysql.com/

# tar xzvf mysql-5.5.28.tar.gz

# cp -Rf mysql-5.5.28 /usr/local/mysql

# cd ../mysql

 

설정을 하자. (MySQL 5.5.9 이상 버전부터 cmake 를 이용하여 컴파일)

Configure 파일은 없고, CMakeLists.txt 라는 파일이 있다면 cmake Makefile을 만들어줘야 된다.

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DSYSCONFDIR=/etc -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306

이때, -- Configuring incomplete, errors occurred! 라는 결과와 함께 remove CMakeCache.txt and rerun cmake 문구가 나온다면 CMakeCache.txt 파일을 삭제하고 다시 cmake를 한다.

 

설정이 끝났다면 이제 make를 하자

# make && make install

 

 

 

이제 mysql 설정파일을 복사하고

# cp support-files/my-huge.cnf /etc/my.cnf

(참고)

my-huge.cnf : 메모리가 1~2G 사이일때

my-large : 512M 일때

my-medium.: 64~256M 일때

my-small.cnf : 65M 보다 작을때

 

실행데몬도 복사하고 설정을 잡고 실행권한 부여한다.

# cp support-files/mysql.server /etc/init.d/mysqld

# vi /etc/init.d/mysqld

datadir=/data/mysql

# chmod 755 /etc/init.d/mysqld

 

/usr/local/mysql 폴더에 mysql 사용자를 소유자로 지정

# chown -R mysql:mysql /usr/local/mysql

# ll /usr/local | grep mysql

drwxr-xr-x 37 mysql mysql 4096 11 14 16:01 mysql

 

DB 생성

# chmod 755 ./scripts/mysql_install_db

# ./ scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

 

mysql 데몬 구동

# /etc/init.d/mysqld start

Starting MySQL..                                           [  OK  ]

 

mysql root 패스워드 설정

# ./bin/mysqladmin -u root password 비밀번호

 

링크를 걸자

# ln -s /usr/local/mysql/bin/mysql /usr/bin/

# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/

 

mysql에 접속

# mysql -u root -p

Enter password:

 

mysql> use mysql

Database changed

 

mysql root 계정으로 외부에서 원격접속 할 수 있도록 권한을 주기

mysql> select host, user, password from user;

+-----------------------+------+-------------------------------------------+

| host                  | user | password                                  |

+-----------------------+------+-------------------------------------------+

| localhost             | root | *533F1F34A2E470AAB9CD90B052A18352B8A5F466 |

| localhost.localdomain | root |                                           |

| 127.0.0.1             | root |                                           |

| ::1                   | root |                                           |

| localhost             |      |                                           |

| localhost.localdomain |      |                                           |

+-----------------------+------+-------------------------------------------+

6 rows in set (0.00 sec)

mysql> grant all privileges on *.* to 'root'@'%' identified by '비밀번호';

Query OK, 0 rows affected (0.00 sec)

mysql> select host, user, password from user;

+-----------------------+------+-------------------------------------------+

| host                  | user | password                                  |

+-----------------------+------+-------------------------------------------+

| localhost             | root | *533F1F34A2E470AAB9CD90B052A18352B8A5F466 |

| localhost.localdomain | root |                                           |

| 127.0.0.1             | root |                                           |

| ::1                   | root |                                           |

| localhost             |      |                                           |

| localhost.localdomain |      |                                           |

| %                     | root | *533F1F34A2E470AAB9CD90B052A18352B8A5F466 |

+-----------------------+------+-------------------------------------------+

7 rows in set (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

mysql 종료

# mysqladmin -uroot -p shutdown || kill mysqld

profile

개발자의 노트

@곽코딩

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!