ㅁ 목적
- CentOS에 Mysql를 소스 설치함.
ㅁ 가정
- mysql은 /usr/local/mysql 경로에 설치함.
ㅁ 방법
[root@server /]# cd /usr/local/src/
[root@server src]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
[root@server src]# tar zxvf cmake-3.5.2.tar.gz
[root@server src]# cd cmake-3.5.2
[root@server cmake-3.5.2]# ./bootstrap
[root@server cmake-3.5.2]# make && make install
[root@server cmake-3.5.2]# cd ..
[root@server src]# wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz
[root@server src]# tar zxvf mysql-5.7.12.tar.gz
[root@server src]# cd mysql-5.7.12
[root@server mysql-5.7.12]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EXTRA_CHARSETS=all -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 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306
[root@server mysql-5.7.12]# make && make install
[root@server mysql-5.7.12]# cp support-files/my-huge.cnf /etc/my.cnf
[root@server mysql-5.7.12]# cp support-files/mysql.server /etc/init.d/mysqld
[root@server mysql-5.7.12]# vi /etc/init.d/mysqld
# 47번째줄 datadir= 뒤에 mysql data 경로를 입력함.
datadir=/usr/local/mysql/data
[root@server mysql-5.7.12]# groupadd mysql
[root@server mysql-5.7.12]# useradd -g mysql mysql
[root@server mysql-5.7.12]# chmod 755 /etc/init.d/mysqld
[root@server mysql-5.7.12]# chown -R mysql:mysql /usr/local/mysql
[root@server mysql-5.7.12]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@server mysql-5.7.12]# /etc/init.d/mysqld start
[root@server mysql-5.7.12]# chkconfig --add mysqld
[root@server mysql-5.7.12]# /usr/local/mysql/bin/mysqladmin -u root password
[root@server mysql-5.7.12]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
[root@server mysql-5.7.12]# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/
[root@server mysql-5.7.12]# mysql -u root -p
끝.
ㅁ 방법
[root@server /]# cd /usr/local/src/
[root@server src]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
[root@server src]# tar zxvf cmake-3.5.2.tar.gz
[root@server src]# cd cmake-3.5.2
[root@server cmake-3.5.2]# ./bootstrap
[root@server cmake-3.5.2]# make && make install
[root@server cmake-3.5.2]# cd ..
[root@server src]# wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz
[root@server src]# tar zxvf mysql-5.7.12.tar.gz
[root@server src]# cd mysql-5.7.12
[root@server mysql-5.7.12]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EXTRA_CHARSETS=all -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 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306
[root@server mysql-5.7.12]# make && make install
[root@server mysql-5.7.12]# cp support-files/my-huge.cnf /etc/my.cnf
[root@server mysql-5.7.12]# cp support-files/mysql.server /etc/init.d/mysqld
[root@server mysql-5.7.12]# vi /etc/init.d/mysqld
# 47번째줄 datadir= 뒤에 mysql data 경로를 입력함.
datadir=/usr/local/mysql/data
[root@server mysql-5.7.12]# groupadd mysql
[root@server mysql-5.7.12]# useradd -g mysql mysql
[root@server mysql-5.7.12]# chmod 755 /etc/init.d/mysqld
[root@server mysql-5.7.12]# chown -R mysql:mysql /usr/local/mysql
[root@server mysql-5.7.12]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@server mysql-5.7.12]# /etc/init.d/mysqld start
[root@server mysql-5.7.12]# chkconfig --add mysqld
[root@server mysql-5.7.12]# /usr/local/mysql/bin/mysqladmin -u root password
[root@server mysql-5.7.12]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
[root@server mysql-5.7.12]# ln -s /usr/local/mysql/bin/mysqldump /usr/bin/
[root@server mysql-5.7.12]# mysql -u root -p
끝.