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
이 설치 패키지를 추출
$ 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
이 설치 패키지를 추출
$ 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
이, 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
도 7을 참조하면, 연결의 MySQL
$ /usr/local/webserver/mysql/bin/mysql -u root -p
MySQL의 사용자 암호를 수정
mysqladmin -u用户名 -p旧密码 password 新密码
또는 MySQL의 명령 줄을 입력
SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');
새 사용자 및 권한 부여를 만듭니다
grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;
다른 명령
- 시작 : 서비스가 시작 mysqld를
- 중지 서비스를 중지 mysqld를
- 다시 시작 : 서비스 mysqld를 다시 시작
- 구성을 다시로드 : 서비스가 다시로드 mysqld를