반응형
[Centos7] mysql 설치
yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum -y install mysql-community-server systemctl enable mysqld systemctl start mysqld #하면 시작된다 /usr/bin/mysql_secure_installation # 물음이 나오면 root비밀번호 설정할지 물어본다 y 눌러서 설정해주고 나머지 y vi /etc/my.cnf #환경설정 [client] port = 3306 #socket = /var/lib/mysql/mysql.sock default-character-set = utf8 # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html [mysqld] explicit_defaults_for_timestamp = TRUE # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Recommended in standard MySQL setup sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES character-set-client-handshake=FALSE init_connect="SET collation_connection = utf8_general_ci" init_connect="SET NAMES utf8" character-set-server = utf8 collation-server = utf8_general_ci big-tables # 기본 엔진설정 default-storage-engine = InnoDB skip-host-cache # # 역DNS 검색 비활성 skip-name-resolve # # 외부(TCP/IP) 잠금 비활성 skip-external-locking #max_connections = 500 #table_cache = 256 wait_timeout = 50 # General 로그를 사용하려면 아래 설정은 그대로 유지하고 # MySQL 서버에 로그인한 후 “SET GLOBALgeneral_log=1″ 명령으로 활성화 # 0=제네럴로그 비활성 general_log = 1 # 제네럴로그 파일경로 general_log_file = /var/log/mysql/general_query.log # MySQL 에서는 지정된 시간 이상으로 쿼리가실행되는경우 해당 쿼리를 별도의 로그 파일로 남길수있다.(슬로우 쿼리 로그) # DDL쿼리도 슬로우 쿼리에 기록 log_slow_admin_statements # 슬로우 쿼리로그 활성화 slow-query-log = 1 # 이 변수값보다 쿼리처리가 길게 걸린다면 에러로그에 기록 long_query_time = 1 # 슬로우 쿼리 로그파일 경로 slow_query_log_file = /var/log/mysql/slow_query.log ## MySQL 스케줄러를 사용하려면 아래 event-scheduler 옵션을 ON으로 변경 # event-scheduler = OFF # 이벤트 비활성 event-scheduler = ON # 함수 sysdate()와 now() 동일하게 처리 sysdate-is-now # 동시접속시 대기시킬수있는 커넥션 갯수 back_log = 100 # 최대 클라이언트 연결 갯수 max_connections = 214 max_connect_errors = 999999 # 다쓴 쓰레드를 스레드풀에 저장할 갯수 thread_cache_size = 50 # 각 쓰레드별 오픈할 테이블수 # table_open_cache = 200 table_open_cache = 256 # 커넥션 최대 대기시간(초) wait_timeout = 28800 # 요청된 쿼리의 최대길이의 값 max_allowed_packet = 32M # MEMORY 테이블의 최대크기 max_heap_table_size = 32M # 메모리 내의 임시테이블 크기 초과시 디스크에 저장 tmp_table_size = 512K # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와 관련 # sort_buffer_size = 128K # 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기 # join_buffer_size = 128K # 테이블 스캔에 필요한 버퍼크기 # read_buffer_size = 128K # 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기 # read_rnd_buffer_size = 128K # 정렬에 필요한 버퍼의 크기 ORDER BY 또는 GROUP BY 연산 속도와 관련 sort_buffer_size = 512K # 조인이 테이블을 풀스캔 하기위해 사용하는 버퍼크기 join_buffer_size = 6K # 테이블 스캔에 필요한 버퍼크기 read_buffer_size = 64K # 디스크 검색을 피하기위한 랜덤 읽기 버퍼크기 read_rnd_buffer_size = 256K # 쿼리 결과를 캐싱라기 위해 할당된 메모리 크기 query_cache_size = 32M # 이 변수 값보다 큰 값은 캐싱이 안됨 query_cache_limit = 2M # GROUP_CONCAT()함수 사용시 컬럼값 최대크기 group_concat_max_len = 1024 # 쓰레스 갯수 thread_concurrency = 2 ## 마스터 MySQL 서버에서 “레코드 기반 복제”를 사용할 대는 READ-COMMIT 사용 가능 ## 복제에 참여하지 않는 MySQL 서버에서는 READ-COMMIT 사용 가능 ## 그 외에는 반드시 REPEATABLE-READ로 사용 transaction-isolation = REPEATABLE-READ # isolation 레벨 [READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE] # InnoDB 관련 옵션 # 테이블 단위로 테이블스페이스 할당, 활성시 확장자 .ibd 파일이 생성됨 innodb_file_per_table = 1 # innodb 홈디렉터리 경로 innodb_data_home_dir = /var/lib/mysql # 파일명 : 초기용량 : 자동증가 : 최대사이즈 innodb_data_file_path = ibdata1:256M:autoextend #테이블 스페이스 자동 확장시 크기 innodb_autoextend_increment = 100 innodb_log_group_home_dir = /var/lib/mysql # 로그 디렉터리 정보 #innodb_log_arch_dir = /var/lib/mysql # 데이터와 인덱스를 캐시하기 위해 사용하는 메모리 버퍼크기 innodb_buffer_pool_size = 512M # innodb에서 사용할 메모리 양으로 전체 메모리의 50~80% 정도로 설정 # 데이터 디렉토리 정보와 내부 데이타 구조를 저장하는 메모리 풀의 크기 innodb_additional_mem_pool_size = 16M # Redo 로그 버퍼크기 innodb_log_buffer_size = 16M # 로그 버퍼 사이즈로 성능에 맞춰 로그를 기록하는 경우 크게 설정 # 로그 파일 사이즈로 버퍼풀 사이즈의 25% 정도로 설정 innodb_log_file_size = 64M # 커밋 로그 옵션으로 성능 최적화로 1분마다 저장되도록 2로 설정 # 1=트랜젝션 실행할때마다 로그 파일에 기록되고 디스크 플러시가 실행 innodb_flush_log_at_trx_commit = 2 # 트렌젝션 two-phase commit 지원, 디스크 플러시 횟수를 줄여 성능항상 innodb_support_xa = OFF # InooDB내에 쓰레드 갯수, 변수 0은 쓰레드간 동시성 비활성화 # innodb_thread_concurrency = 0 # 롤백이 진행되기 전에 LOCK을 대기하는 시간(초) innodb_lock_wait_timeout = 20 # 크래시 복구 모드 설정 #innodb_force_recovery = 1 # 성능을 위해 메모리에서 직접 액세스 하도록 설정 innodb_flush_method = O_DSYNC innodb_purge_threads = 1 innodb-read-io-threads = 2 innodb-write-io-threads = 2 innodb_thread_concurrency = 6 innodb-buffer-pool-instance = 3 # O_DIRECT=운영체제의 버퍼를 사용 않고 IO 실행, RAID 컨트롤러(캐시메모리 장착된)가 없거나 SAN 사용시 O_DIRECT를 사용 하지 않음 # 이중 쓰기 버퍼 비활성 innodb_doublewrite = 0 # 쓰레드가 지연되기 전에 (suspended) 풀어 주기 위해 InnoDB 뮤텍스 (mutex)를 기다리는 쓰레드의 대기 시간 innodb_sync_spin_loops = 20 # LOCK TABLES은 AUTOCOMMIT=0경우에, InnoDB로 하여금 내부적으로 테이블을 잠금 innodb_table_locks = 1 # InnoDB 큐를 조이닝 (joining)하기 전에 InnoDB 쓰레드가 일시 정지 (sleep)하는 시간 innodb_thread_sleep_delay = 1000 # 퍼지 연산 (purge operation)이 래깅 (lagging)될 때 INSERT, UPDATE 및 DELETE 연산을 지연 시키는 방법을 제어, # 디폴트값 0일시 지연 없음 innodb_max_purge_lag = 0 # 동시에 실행되는 쓰레드의 숫자. 이 값이 0이 되면 동시성 제어 (concurrency control)가 비활성화 innodb_commit_concurrency = 0 # InnoDB에 동시에 들어갈 수 있는 쓰레드의 숫자는 innodb_thread_concurrency 변수로 알아볼 수가 있다. # 여러 개의 쓰레드가 이미 컨커런시 한계에 도달하였다면, 하나의 쓰레드만이 큐에 들어갈 수 있다. # 하나의 쓰레드가 InnoDB에 들어가게 되면, innodb_concurrency_tickets의 값과 일치하는 “자유 티켓”의 숫자가 주어지고 # 쓰레드가 자신의 티켓을 사용하기 전 까지는 자유롭게 InnoDB에 들어가고 나올 수가 있다. # 이런 후에는, 쓰레드는 다시금 일관성 검사를 하고 InnoDB에 다시 들어가려고 시도하게 된다 innodb_concurrency_tickets = 500 [mysqldump] default-character-set = utf8 [mysql] # MySQL 설정그룹 default-character-set=utf8 # 경고 발생시 메세지 자동 출력 show-warnings # SQL 프롬프트 설정 prompt=\\u@\\h:[\\d]\\R:\\m:\\s> # 데이터 출력시 페이징처리 # pager=”less -n -i -F -X -E” # 자동 완성 기능 비활성화 # no-auto-rehash # 데이터 변경 또는 삭제시 where구문 필수입력 # safe-updates [mysqld_safe] # 에러로그에 경고메세지 기록 log-warnings = 1 # 에러로그 파일경로 log-error=/var/log/mysqld.log # 프로세스 ID 파일경로 pid-file=/var/run/mysqld/mysqld.pid #위와 같이 저장후 mysqld 다시 시작 mysql -uroot -p #접속후 외부접속 내부접속 설정 create user 'userout'@'%' identified by 'password'; #외부접속허용 create user 'userin'@'localhost' identified by 'password'; #내부접속허용 #데이타베이스 사용자 권한주기 grant select, insert, update, delete, create, alter, drop on 데이타베이스명.* to '사용자계정아이디'@'%' identified by '계정비밀번호'; FLUSH PRIVILEGES; #적용 #번외 # 권한보기 show grants for userin@'localhost'; # 사용권한 올 grant all PRIVILEGES ON 데이터베이스명.* TO 'userin'@'localhost'; #db만들기 create database testdatabase default character set utf8; #방화벽해제 firewall-cmd --permanent --add-port=3306/tcp firewall-cmd --reload
반응형
'Operating System > Centos' 카테고리의 다른 글
[Centos7] apache, tomcat연동 ajp 이용 (0) | 2016.06.20 |
---|---|
[Centos7] tomcat8 설치 (0) | 2016.06.20 |
[Centos7] java설치 (2) | 2016.06.20 |
[Centos7] vsftp 설치 (0) | 2016.06.20 |
[Centos7] httpd 설치 (0) | 2016.06.20 |