MySQL 설치 구성


MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템으로 스웨덴 MySQL AB 회사에서 개발했으며 현재 Oracle에 속해 있습니다.

MySQL에서 사용하는 SQL 언어는 데이터베이스 액세스에 가장 일반적으로 사용되는 표준화된 언어입니다.

MySQL은 일반적으로 작은 크기, 빠른 속도, 낮은 총 소유 비용, 특히 오픈 소스 특성으로 인해 중소 규모 웹 사이트 개발을 위한 웹 사이트 데이터베이스로 선택됩니다.


MySQL 설치

이 튜토리얼의 시스템 플랫폼: CentOS 릴리스 6.6(최종) 64비트.

1. 컴파일 도구 및 라이브러리 파일 설치

yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

2. cmake 컴파일러

cmake 버전: cmake-3.1.1을 설치합니다.

1. 다운로드 주소: http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz

[root@w3cschool,cc src]# wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
mysql1.png

2. 설치 패키지 압축을 푼다

[root@w3cschool,cc src]# tar zxvf cmake-3.1.1.tar.gz

3. 패키지 디렉터리

[root@w3cschool,cc src]# cd cmake-3.1.1

4.

[root@w3cschool,cc cmake-3.1.1]# ./bootstrap
[root@w3cschool,cc cmake-3.1.1]# make && make install

3을 컴파일하고 설치합니다. MySQL

MySQL 버전: mysql-5.6.15을 설치합니다.

1. 다운로드 주소: http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

[root@w3cschool,cc src]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
mysql2.png

2. 설치 패키지 압축을 푼다

[root@w3cschool,cc src]# tar zxvf mysql-5.6.15.tar.gz

3. 설치 패키지 디렉터리

[root@w3cschool,cc src]# cd mysql-5.6.15

4.

[root@w3cschool,cc mysql-5.6.15]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306
[root@w3cschool,cc mysql-5.6.15]# make && make install

5를 컴파일하고 설치합니다. mysql 버전을 확인합니다.

[root@w3cschool,cc mysql-5.6.15]# /usr/local/webserver/mysql/bin/mysql --version
mysql3.png

이 시점에서 mysql 설치가 완료됩니다.


MySQL 구성

1. mysql을 실행하는 데 사용할 사용자 mysql을 만듭니다.

[root@bogon conf]# /usr/sbin/groupadd mysql
[root@bogon conf]# /usr/sbin/useradd -g mysql mysql

2. binlog 및 라이브러리의 저장 경로를 만들고 mysql 사용자 권한을 부여합니다.

[root@w3cschool,cc mysql]# mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
[root@w3cschool,cc mysql]# chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/

2. /etc /my.cnf를 다음 내용으로 바꿉니다.

[root@w3cschool,cc mysql]# cat /etc/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
default-tmp-storage-engine=MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db=oa_fb
binlog-ignore-db=mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306
server-id = 1
loose-innodb-trx=0 
loose-innodb-locks=0 
loose-innodb-lock-waits=0 
loose-innodb-cmp=0 
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0 
loose-innodb-cmpmem=0 
loose-innodb-cmpmem-reset=0 
loose-innodb-buffer-page=0 
loose-innodb-buffer-page-lru=0 
loose-innodb-buffer-pool-stats=0 
loose-innodb-metrics=0 
loose-innodb-ft-default-stopword=0 
loose-innodb-ft-inserted=0 
loose-innodb-ft-deleted=0 
loose-innodb-ft-being-deleted=0 
loose-innodb-ft-config=0 
loose-innodb-ft-index-cache=0 
loose-innodb-ft-index-table=0 
loose-innodb-sys-tables=0 
loose-innodb-sys-tablestats=0 
loose-innodb-sys-indexes=0 
loose-innodb-sys-columns=0 
loose-innodb-sys-fields=0 
loose-innodb-sys-foreign=0 
loose-innodb-sys-foreign-cols=0

slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
quick
max_allowed_packet = 32M

3. 데이터베이스를 초기화합니다.

[root@w3cschool,cc mysql]#/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --user=mysql

4. 시작 스크립트를 만듭니다.

Installing MySQL system tables...2015-01-26 20:18:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK

Filling help tables...2015-01-26 20:18:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK
...

4. . MySQL에 연결

[root@w3cschool,cc mysql]# cd /usr/local/webserver/mysql/
[root@w3cschool,cc mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 
[root@w3cschool,cc mysql]# chkconfig --add mysqld 
[root@w3cschool,cc mysql]# chkconfig --level 35 mysqld on

MySQL 사용자 비밀번호를 변경

[root@w3cschool,cc mysql]# service mysqld start

하거나 mysql 명령줄을 입력하세요nginx4.png
[root@w3cschool,cc mysql]# /usr/local/webserver/mysql/bin/mysql -u root -p

새 사용자를 생성하고 다음 권한을 부여하세요:

mysqladmin -u用户名 -p旧密码 password 新密码
mysql5.png기타 명령

시작: service mysqld start

중지: service mysqld stop
  • 다시 시작: service mysqld restart
  • Reload 구성: service mysqld reload