Latest web development tutorials

MySQL 설치 및 구성

MySQL은 스웨덴 회사의 MySQL AB, Oracle Corporation의 현재 부분에 의해 개발 된 가장 인기있는 관계형 데이터베이스 관리 시스템입니다.

MySQL이 사용되는 SQL 언어의 데이터베이스를 액세스하는 데 사용되는 일반적인 표준 언어이다.

MySQL은 때문에 작은 크기, 높은 속도, 낮은 소유 비용, 특히 오픈 소스이 기능을, 중소 웹 사이트 개발 웹 사이트 데이터베이스로 MySQL을 선택했습니다.


MySQL 설치

튜토리얼 시스템 플랫폼 : CentOS에 6.6 (최종) 64 비트를 놓습니다.

첫째, 컴파일 툴과 라이브러리를 설치

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

둘째, cmake 컴파일러를 설치

cmake 버전 : cmake-3.1.1.

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

$ wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
mysql1

이 설치 패키지를 추출

$ tar zxvf cmake-3.1.1.tar.gz

(3) 설치 패키지 디렉토리에

$ cd cmake-3.1.1

4, 컴파일 및 설치

$ ./bootstrap
$ make && make install

셋째, 설치 MySQL의

MySQL 버전 : MySQL의-5.6.15.

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

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
mysql2

이 설치 패키지를 추출

$ tar zxvf mysql-5.6.15.tar.gz

(3) 설치 패키지 디렉토리에

$ cd mysql-5.6.15

4, 컴파일 및 설치

$ 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
$ make && make install

5. MySQL의 버전 :

$ /usr/local/webserver/mysql/bin/mysql --version
mysql3

이, MySQL의 설치가 완료됩니다.


MySQL의 구성

1. 사용하여 사용자 MySQL의 MySQL의 실행을 만듭니다

$ /usr/sbin/groupadd mysql
$ /usr/sbin/useradd -g mysql mysql

2. 바이너리 로그 및 저장 경로를 작성하고 MySQL 데이터베이스 사용자 권한을 부여

$ mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
$ chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/

3. my.cnf의 구성 파일을 만듭니다

것들을 /etc/my.cnf합니다 다음과 같은 내용을 교체

$ 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

도 4에서,베이스를 초기화

$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --user=mysql

다음과 같은 정보를 표시합니다 :

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
...

5. 부팅 스크립트를 만듭니다

$ cd /usr/local/webserver/mysql/
$ cp support-files/mysql.server /etc/rc.d/init.d/mysqld 
$ chkconfig --add mysqld 
$ chkconfig --level 35 mysqld on

6, MySQL의 서버를 시작

$ service mysqld start
mysql4

도 7을 참조하면, 연결의 MySQL

$ /usr/local/webserver/mysql/bin/mysql -u root -p
mysql5

MySQL의 사용자 암호를 수정

mysqladmin -u用户名 -p旧密码 password 新密码

또는 MySQL의 명령 줄을 입력

SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');

새 사용자 및 권한 부여를 만듭니다

grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;

다른 명령

  • 시작 : 서비스가 시작 mysqld를
  • 중지 서비스를 중지 mysqld를
  • 다시 시작 : 서비스 mysqld를 다시 시작
  • 구성을 다시로드 : 서비스가 다시로드 mysqld를