[MYSQL] Linux에서 바이너리 설치

반응형

1. 바이너리 다운로드

*Linux 상세 버전 확인
# grep . /etc/*-release

* glib 버전 확인
getconf -a | grep libc

https://downloads.mysql.com/archives/community/

 

MySQL :: Download MySQL Community Server (Archived Versions)

Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Community Server, please visit MySQL Downloads. MySQL open source software is provided under the GPL License.

downloads.mysql.com

or

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

 

2. SELINUX 끄기

vi /etc/selinux/config
SELINUX=disable

 

3. 압축파일 풀기

tar -xvf mysql-8.0.27-el7-x86_64.tar

 

4. 유저 생성

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
* -r : create a system account
* -s: loging shell of the new account
id mysql

 

5. 엔진디렉토리 에서 설치 (/usr/local 에서 진행)  

mv mysql-8.0.27-el7-x86_64 /usr/local/
cd /usr/local
mv mysql-8.0.27-el7-x86_64 mysql

 

6. Bash_profile에 mysql PATH 변수 추가

# vi .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

 

7. Data Directory 생성

mkdir /home/mysql/mysql_data/
chown -R mysql:mysql /home/mysql_data/
chmod 750 /home/mysql_data/
mkdir /home/mysql/mysql_log/log

 

8. my.cnf 파일 생성 및 수정

# vi /etc/my.cnf

[client]
port = 3306
socket=/data/mysql/mysql.sock


[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
datadir=/data/mysql
socket=/data/mysql/mysql.sock

[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid  

log-error=/data/log/mysql.log
pid-file=/data/log/mysql.pid

 

9. mysql 생성

# . /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
.
.
...[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qofj!A340$+A
root 임시 비밀번호가 로그에 남는데 기록해두기


10. mysql 실행

mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
ps -ef | grep mysqld

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
위와 같은 에러 발생시 데이터디렉토리에 생성된 mysql.sock파일을 에러에서 말하는 위치로 심볼릭 링크를 생성해줍니다.
ex)ln -s /data/mysql/mysql.sock /tmp/mysql.sock

11. 접속

mysql -u root -s /tmp/mysql.sock

Enter password: qofj!A340$+A

- 최초 구동시 비밀번호 변경 

mysql> alter user 'root'@'localhost' identified by 'mysql@@';
mysql> flush privileges;
mysql> exit

mysql -u root -p
Enter password: mysql@@

12. OS 시스템에 등록 

# root 계정
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
chkconfig --add mysql.server
chmod 755 /etc/init.d/mysql.server
systemctl enable mysql.server
systemctl start mysql.server
systemctl status mysql.server

11. 일반 유저로 기동시키기

 - 서버 종료
 mysqladmin -p -u root shutdown

 - mysql user로 기동이 가능하도록 디렉토리 권한 전부 변경

 -root가 아닌 mysql user로 기동
mysqld --defaults-file=/usr/local/mysql/my.cnf --user=mysql &
반응형