메뉴 닫기

Centos 7.0에 Mysql 5.7.10 설치하기

Mysql설치(5.7.10)

① OS버젼 확인

/etc/redhat-release 또는 /etc/issue에서 OS버전을 확인한다.

1

② cmake, ncures-devel설치

# yum -y install cmake ncurses-devel

Mysql설치

계정추가

# groupadd -g 400 mysql

# useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql

설치

# cd /usr/local/src

# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz

# tar xvfz mysql-5.7.10.tar.gz

# cd mysql-5.7.10

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

# make

# make install

언어셋을 euckr로 설치를 원할 경우, -DDEFAULT_CHARSET=euckr -DDEFAULT_COLLATION=euckr_korean_ci로 변경해준다.

위 내용처럼 진행하였을때 make도중 41퍼센트에서 에러가 발생하여 진행이 안 되는 경우가 있다. 이는 메모리1G 가상서버에서 발생하였던 에러이며 4G서버에서는 발생하지 않았다. 메모리부족으로 나타나는 현상으로 추측되며, 스왑메모리를 추가해줌으로써 문제를 해결하였다.

# dd if=/dev/zero of=/var/swapfile bs=1k count=3072000

# mkswap /var/swapfile

# swapon /var/swapfile

# swapon -s

  • 초기 데이터베이스 구성 및 권한설정

# /usr/local/src/mysql-5.7.10/client/mysql_install_db –user=mysql –datadir=/usr/local/mysql/data –basedir=/usr/local/mysql

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

# chmod 711 /usr/local/mysql

# chmod 700 /usr/local/mysql/data

# 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

④ boost설치

# cd /usr/local/include/boost/boost_1_59_0

# ./bootstrap.sh

# ./b2 install

자동실행설정 및 기타파일 적용

# cp -arp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

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

# chmod 700 /etc/init.d/mysqld

# vi /etc/my.cnf

방금 복사한 설정파일을 열어 아래 세줄을 주석해제 후 다음과 같이 설정해준다.

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

# chkconfig –add mysqld

# chkconfig –level 3 mysqld on

# vi /root/.bash_profile

다음과 같이 기본 환경변수에 mysql경로를 지정해준다.

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:

# source /root/.bash_profile

방화벽추가

– iptables 사용시

# vi /etc/sysconfig/iptables

-A INPUT -p tcp -m state –state NEW -m tcp –dport 3306 -j ACCEPT 추가

# systemctl restart iptables

– firewalld 사용시

# firewall-cmd –zone=public –add-port=3306/tcp –permanent

# firewall-cmd –reload 또는

# systemctl restart firewalld으로 재구동

# vi /etc/firewalld/zones/public.xml 이곳에서 포트추가한 것이 확인가능하다.

설치확인

데몬구동확인

# /etc/init.d/mysqld start

# netstat -nltp

2

 

 

버전확인

# /usr/local/mysql/bin/mysql -V

 3

정상구동 확인

Mysql 5.7 버전에서는 이전버전과는 달리 최초 접속시 패스워드가 임의로 할당되어 바로 root로 접속할 수 없다.

4

가장 간단한 해결방법으로 아래 경로에 임의로 설정된 패스워드로 접속하는 방법이 있다.

# vi /root/.mysql_secret

다른 방법으로는 구동중인 mysql을 종료하고 safe모드로 구동한 후 다시 접근하면 패스워드 없이 접근이 가능하다. 이후 패스워드를 설정해주면 된다.

# /etc/init.d/mysqld stop

# /usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

# mysql

5

mysql> use mysql;

Database changed

mysql> update user set authentication_string=password(‘P@ssw0rd’) where user=’root’;

Query OK, 0 rows affected (0.00 sec)

mysql> flush priviliges;

Query OK, 0 rows affected (0.00 sec)

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x