CentOS 7 환경 MySQL 8 버전 3306, 3316 포트로 멀티 설치
1. 사전 작업
root 계정 로그인
# [필요 유틸 설치]
yum install wget vim -y
# [mysql 계정, 그룹 생성]
groupadd mysql
useradd mysql -g mysql
# [MySQL 8 다운로드 및 설정]
mkdir /opt/mysql
cd /opt/mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-el7-x86_64.tar.gz
cd /usr/local/
tar xzvf /opt/mysql/mysql-8.0.30-el7-x86_64.tar.gz
ln -s /usr/local/mysql-8.0.30-el7-x86_64/ mysql
ln -s /usr/local/mysql/bin/mysqld /usr/bin
vi ~/.bash_profile
# export $PATH 선언 전줄에 아래 한 줄 추가
PATH=$PATH:/usr/local/mysql/bin
source .bash_profile
# [MySQL 8 설치 전 설정]
mkdir -p /opt/mysql/{3306,3316}/data
mkdir -p /opt/mysql/{3306,3316}/log
chown -R mysql:mysql /opt/mysql
2. MySQL 8 3306 포트로 설치
# [MySQL 설치]
# root -> mysql로 계정 변경
su mysql
cat <<EOF > /opt/mysql/3306/my.cnf
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/opt/mysql/3306/data
socket=/tmp/mysql_3306.sock
log-error=/opt/mysql/3306/log/mysql_3306.log
pid-file=/opt/mysql/3306/mysqld_3306.pid
EOF
/usr/local/mysql/bin/mysqld --defaults-file=/opt/mysql/3306/my.cnf --initialize --basedir=/usr/local/mysql --datadir=/opt/mysql/3306/data
# [MySQL 실행]
/usr/local/mysql/bin/mysqld --defaults-file=/opt/mysql/3306/my.cnf --user=mysql &
# 아래 명령어를 실행하면 패스워드를 묻는데 초기 패스워드는 my.cnf에 설정한
# /opt/mysql/3306/log/mysql_3306.log 로그에 나와있음
# 예) ... [Server] A temporary password is generated for root@localhost: 패스워드
mysql -S /tmp/mysql_3306.sock -p
alter user 'root'@'localhost' identified with mysql_native_password by '변경할 패스워드';
flush privileges;
# [MySQL 종료]
# 아래 명령어를 실행하고 좀 전에 변경한 패스워드 입력
/usr/local/mysql/bin/mysqladmin -h 127.0.0.1 -u root -p -P 3306 shutdown
3. MySQL 8 3316 포트로 설치
# [MySQL 설치]
# root -> mysql로 계정 변경
su mysql
cat <<EOF > /opt/mysql/3316/my.cnf
[mysqld]
port=3316
basedir=/usr/local/mysql
datadir=/opt/mysql/3316/data
socket=/tmp/mysql_3316.sock
log-error=/opt/mysql/3316/log/mysql_3316.log
pid-file=/opt/mysql/3316/mysqld_3316.pid
EOF
/usr/local/mysql/bin/mysqld --defaults-file=/opt/mysql/3316/my.cnf --initialize --basedir=/usr/local/mysql --datadir=/opt/mysql/3316/data
# [MySQL 실행]
/usr/local/mysql/bin/mysqld --defaults-file=/opt/mysql/3316/my.cnf --user=mysql &
# 아래 명령어를 실행하면 패스워드를 묻는데 초기 패스워드는 my.cnf에 설정한
# /opt/mysql/3316/log/mysql_3316.log 로그에 나와있음
# 예) ... [Server] A temporary password is generated for root@localhost: 패스워드
mysql -S /tmp/mysql_3316.sock -p
alter user 'root'@'localhost' identified with mysql_native_password by '변경할 패스워드';
flush privileges;
# [MySQL 종료]
# 아래 명령어를 실행하고 좀 전에 변경한 패스워드 입력
/usr/local/mysql/bin/mysqladmin -h 127.0.0.1 -u root -p -P 3316 shutdown
4. 기타
계정 및 디비 생성
create database 디비;
create user '계정'@'%' identified by '비밀번호';
grant all privileges on 디비.* to '계정'@'%';
flush privileges;
끝.
'DB' 카테고리의 다른 글
Centos 7 기준 redis 5.0.3 tar server 실행 (0) | 2018.12.31 |
---|---|
디비툴 DBeaver (0) | 2016.06.25 |
Oracle에서 iBatis batch 사용 - 대용량 업데이트 시 (0) | 2013.01.02 |
MySQL 5.1 사용자(계정) 추가 (0) | 2012.02.04 |
SQL로 카테고리, 트리, 계층 구조의 구현 (0) | 2011.10.18 |
댓글