본문 바로가기
DB INSTALL

[mysql] oel8_mysql_master_1

by YUNZZANG 2024. 5. 10.
728x90
먼저 mysql을 설치한다.
해당하는 os 에 설치를 수행한다.

 

 

 

>>mysql download 사이트<<

 

 

일반적으로 설치가 쉽고 관리가 편한 Tar Compress 버전을 많이 사용한다.

 

 
버전이 Release 되면 RHEL버전용은 RPM 버전만 제공되는 경우가 있으므로, Linux - Generic에서 Compress 버전을 다운 받는다.
os를 선택하고 노란색으로 색칠한 것을 유심히 봐야한다.

 

32bit 면 i686, 64bit면 x86_64 를 다운받는다.
 
설치하고자하는 version 이 ,,(저는 64bit입니다) 64bit 이므로 두번째것을 Download 클릭한다.

 

 

linux os 를 설치해준다.
 
 
구성 -
enp0s3 ( master ), enp0s8 (외부 네트워크용) --------------------mysql_master
enp0s3 ( slave ) , enp0s8 (외부 네트워크용) ----------------------mysql_slave
 
 
유저생성
 
# groupadd dba
# useradd mysql -g dba
# passwd mysql
(비밀번호 지정)

 

 

방화벽 해제
 
 
# systemctl stop firewalld
# systemctl disable firewalld
# systemctl status firewalld

 

 

 

 

mysql로 이동 후 ftp 로 아까 다운받은 mysql tar 파일을 옮겨준다.
 
 
# cd ~mysql
(ftp로 옮겨주기)

 

 

 

root  계정으로 파일을 만들고 mysql 계정에 해당 파일에 대한 권한을 부여해준다.
.cnf 파일도 만들어준다.
mysql 계정으로 들어가서 data 와 log 파일을 만들어준다.
 
<root계정>
mkdir /mysql_master
chmod -R 777 /mysql_master
chown -R mysql:dba /mysql_master
touch /etc/mysql_master.cnf
chown mysql:dba /etc/mysql_master.cnf
 
su - mysql
 
<mysql 계정>
mkdir -p /mysql_master/data
mkdir -p /mysql_master/log/mysql-log
mkdir -p /mysql_master/log/err-log
vi /etc/mysql_master.cnf
 
[client]
port=15723
socket=/tmp/mysql_master.sock
 
[mysqld]
port=15723
socket=/tmp/mysql_master.sock
basedir=/mysql_master
datadir=/mysql_master/data
default_storage_engine=innodb
default_tmp_storage_engine=innodb
table_open_cache=655350
table_open_cache_instances=5
open-files-limit=655350
log-error=/mysql_master/log/err-log/mysql.err
lc_messages_dir=/mysql_master/share
log-bin=/mysql_master/log/mysql-log/mysql-bin
 
[mysql_safe]
malloc-lib=/usr/local/lib/libtcmalloc_minimal.so
 
 
다 완료했으면 mysql 파일로 이동해서 unzip 해준다. ( mysql 계정)
tar Jxvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz -C /mysql_master --strip-components 1
/mysql_master/bin/mysqld --defaults-file=/etc/mysql_master.cnf --initialize-insecure --user=mysql
/mysql_master/bin/mysql -u root -p --socket=/tmp/mysql_master.sock
(비밀번호는 그냥 엔터치면 됨)
 
만약에 마지막 명령어를 수행하다가  /mysql_master/bin/mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
에러가 나면  root  계정으로 yum install ncurses-compat-libs* 수행
 
 
mysql_safe 를 통해 기동
/mysql_master/bin/mysqld_safe --defaults-file=/etc/mysql_master.cnf --user=mysql &
 
옵션
설명
--defaults-file
oracle 의 control  file 및 pfile과 비슷한 역할을 하는 파일인 cnf  파일의 위치를 지정해 주는 옵션이며, 해당 옵션을 사용하지 않는 경우, default 값인 /etc/my.cnf를 찾아서 수행합니다.
--user
DB 생성을  어떤 OS 유저로 수행 할 지 지정합니다.
&
백그라운드로 수행 할 수 있게 하는 Linux Shell 명령어 입니다.
 
mysql 명령어를 통해 접속
/mysql_master/bin/mysql -u root -p --socket=/tmp/mysql_master.sock
옵션명
설명
-u
mysql에  접속할 유저명을 지정합니다. 옵션과 입력변수 사이의 띄어쓰기는 유무 상관 없이 작동됩니다.
-p
mysql에  접속할 유저의 password를 입력합니다. 옵션과 입력변수  사이의 띄어쓰기는 유무 상관 없이 작동됩니다.
--socket
mysql은  Local 접속 시, Unix 소켓 통신을 이용합니다. cnf파일에 입력했던 socket 파일 path를 지정하여 사용 가능 합니다.
 
DB 종료
/mysql_master/bin/mysqladmin -uroot --socket=/tmp/mysql_master.sock shutdown
 
옵션명
설명
-u
mysql에  접속할 유저명을 지정합니다. 옵션과 입력변수 사이의 띄어쓰기는 유무 상관 없이 작동됩니다.
--socket
mysql은  Local 접속 시, Unix 소켓 통신을 이용합니다. cnf파일에 입력했던 socket 파일 path를 지정하여 사용 가능 합니다.
 
Replication 전용 유저 생성
 
/mysql_master/bin/mysql -uroot --socket=/tmp/mysql_master.sock
mysql> create user 'druser'@'192.168.163.%' identified by 'mysql';
명령어
설명
create user 'druser'@'192.168.163.%'
druser라는  이름의 유저를 생성하되, 192.168.163 대역에서 들어오는 접속만을 허용하는 유저를 만든다는  내용입니다.
따라서 저 유저의 명은 'druser'@'192.168.163.%' 전체가 유저명이 됩니다.
identified by 'mysql'
해당 유저의 접속 Password를  mysql으로 설정합니다.

'DB INSTALL' 카테고리의 다른 글

Opatch 하는법  (1) 2024.04.02

댓글