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 |
---|
댓글