ALTER USER '[user명]'@'localhost' IDENTIFIED BY '[변경할 비밀번호]';
USER 생성, 권한 부여
user 생성
CREATE USER '[user명]'@'[접근가능범위]' IDENTIFIED BY '[비밀번호]';
# 내부 접근을 허용하는 user 생성
CREATE USER '[user명]'@'localhost' IDENTIFIED BY '[비밀번호]';
# 외부 접근을 허용하는 user 생성
CREATE USER '[user명]'@'%' IDENTIFIED BY '[비밀번호]';
# 특정 IP만 허용하는 user 생성
CREATE USER '[user명]'@'192.168.188.122' IDENTIFIED BY '[비밀번호]';
# 특정 IP 대역을 허용하는 user 생성
CREATE USER '[user명]'@'192.168.%' IDENTIFIED BY '[비밀번호]';
접근가능범위
localhost : 내부 IP만 접근 가능
% : 외부에서 접근 가능
특정 IP : 정해진 IP에서만 접근 가능
user 권한 부여
# 계정이 이미 존재하는데 'identfied by '비밀번호'' 부분을 추가하면 비밀번호가 변경된다.
GRANT ALL PRIVILEGES ON [database명].[table명] TO [user id]@host IDENTIFIED BY '비밀번호';
# 모든 원격지에서 접속 권한 추가
GRANT ALL PRIVILEGES ON [database명].[table명] TO [user명]@'%' IDENTIFIED BY '비밀번호';
# host에 '200.100.%' 로 하면 IP주소가 200.100.X.X 로 시작되는 모든 IP에서 원격 접속을 허용한다는 의미
# host에 '200.100.100.50' 으로 하면 IP주소가 200.100.100.50 인 곳에서만 원격 접속을 허용한다는 의미
💡my.cnf파일이란? Unix 계열 MySQL 엔진에서 사용하는 configure 파일. Windows 계열에서는my.ini라는 이름으로 사용된다.
cd mysql
touch my.cnf
vi my.cnf
## 내용 ##
[client]
port=3306 # 접속시 사용할 Port 설정
socket=/home/centos/mysql/mysql.sock # 사용할 소켓 파일 설정
[mysqld]
socket=/home/centos/mysql/mysql.sock
basedir=/home/centos/mysql # base directory 설정
datadir=/home/centos/mysql/data # data directory 설정
user=mysql # 접속 유저명
key_buffer_size=64M # 메모리에 있는 인덱스 블록에서 사용되는 버퍼의 크기, MyISAM 테이블에서 사용하고 있는 모든 쓰레드에서 공유하는 버퍼 크기
max_allowed_packet=32M # 가장 크게 생성될 수 있는 packet 1개 크기(바이트) 설정
#query_cache_size=32M
max_connections=2625 # 동시에 접근 가능한 커넥션 수 설정
max_connect_errors=2000000 # 발생할 수 있는 최대 에러 개수
wait_timeout=60 # API를 이용한 client 프로그램(PHP, JDBC, ODBC...) 상에서 최대 연결시간
explicit_defaults_for_timestamp = 1
pid-file=/home/centos/mysql/mysqld.pid
log-error=/home/centos/mysql/logs/mysqld.log
bulk_insert_buffer_size=0
설정할 variable을 그룹별로 모아서 중괄호로 기술하는 것을 원칙으로 한다.
variable 작성 규칙
주석은 # 으로 처리한다.
variable과 value 사이에는 공백이 있어도 무방하다.
variable 앞에 -, --는 사용하지 않는다.
my.cnf에 기술된 variable은 처음 서버가 로드 될때만 적용된다.
my.cnf에 기술되지 않은 variable은 default값으로 설정된다.
모든 varaiable은 그룹 안에 속해야 한다.
( 7 / 12 )libaio다운로드
mkdir data
mkdir logs
sudo yum install libaio -y
💡 libaio이란? 데이터베이스 서버에 필수인 비동기 라이브러리. libaio가 설치되어 있지 않으면 intialization 단계나 이후 서버 시작 단계에서 실패할 수 있으니 설치를 진행한다.
참고) my.cnf 외에 다른 cnf 파일을 지정하여 사용하고 싶을 경우--defaults-extra-files로 설정할 수 있다. 예를 들면 여러 대의 MySQL 서버를 운영하는 경우, 기본적인 설정은 my.cnf를 사용하여 설정하고, 서버별 특이 사항은 다른 cnf 파일을 생성하여 configuration 내용을 관리하는 경우이다.