설치 MySQL5. 컴파일6 및 데이터베이스 구성

설치 컴파일하기
MySQL 전용 계정 및 사용자 그룹을 만들려면 다음과 같이 하십시오.
groupaddmysql
useradd-g mysql mysql
사용자 운영체제 자원에 대한 제한을 설정합니다./etc/보안/limits.마지막으로 conf 추가
mysql      soft  nproc      2047
mysql      hardnproc      16384
mysql      soft  nofile      1024
mysql      hardnofile      65536
 
cmake를 실행합니다. -LAH에서 MySQL에서 지원되는 모든 매개변수를 컴파일하거나http://dev/mysql.com/doc/refman/5.6/en/source-configuration-options.html공식 기술 문서 보기
 
cmake 설치:
yuminstall cmake
 
문제 발생: Generic Linux(Architecture Independent), Compressed TAR Archive
  :yum -y install ncurses-devel
    :CMAKE_C_COMPILER not set, after EnableLanguage
  :yum install gcc-c++

rm -f CMakeCache.txt
설치 다시 컴파일
 
압축 해제 원본 패키지: tar -zvfx mysql - 5.6.28.tar.gz
압축 풀기 디렉토리에 들어가서 cmake 컴파일 및 설치를 수행합니다.
cdmysql-5.6.28
cmake. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_COLLATION=utf8_general_ci-DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=ON-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1-DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1-DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCOMPILATION_COMMENT='JSSfor mysqltest' -DWITH_READLINE=ON -DSYSCONFDIR=/data/mysqldata/3306-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock
 make && make install
 
수정 소프트웨어가 있는 디렉토리 소유자는 mysql입니다.
chown-R mysql:mysql/usr/local/mysql
mysql 사용자 환경 변수를 수정합니다./home/mysql/.bash_profile 추가
# exportLANG=zh_CN.GB18030
exportPATH=/usr/local/mysql/bin:$PATH
 
 
 
MySQL 데이터베이스 서비스 관리
MySQL 데이터베이스 서비스: MySQL 소프트웨어, MySQL 실례와 MySQL 데이터베이스 몇 부분의 총칭
MySQL 인스턴스: MySQL 프로세스와 해당 프로세스가 보유한 메모리 리소스를 나타냅니다.
MySQL 데이터베이스:MySQLdata 디렉터리 또는 MySQLdatabase 파일
mysql 데이터베이스: mysql 이 DB
mysql: MySQL 데이터베이스에 연결하는 명령줄 방식 상호작용 도구 mysql
 
데이터베이스 파일의 기본 경로를 만들려면 다음과 같이 하십시오.
mkdir -p/data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}
chown -R mysql:mysql/data/mysqldata
chown -R mysql:mysql/usr/local/mysql
 
 
 
MySQL 프로필/data/mysqldata/3306/my를 추가합니다.cnf는 다음과 같습니다.
[client]
port = 3306
socket =/data/mysqldata/3306/mysql.sock
 
# The MySQL server
[mysqld]
port   = 3306
user   = mysql
socket =/data/mysqldata/3306/mysql.sock
pid-file        =/data/mysqldata/3306/mysql.pid
basedir =/usr/local/mysql
datadir =/data/mysqldata/3306/data
tmpdir =/data/mysqldata/3306/tmp
open_files_limit       = 10240
explicit_defaults_for_timestamp
sql_mode        =NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
# Buffer
max_allowed_packet      = 256M
max_heap_table_size     = 256M
net_buffer_length   = 8K
sort_buffer_size        = 2M
join_buffer_size        = 4M
read_buffer_size        = 2M
read_rnd_buffer_size    = 16M
 
# Log
log-bin =/data/mysqldata/3306/binlog/mysql-bin
binlog_cache_size       = 32m
max_binlog_cache_size   = 512m
max_binlog_size = 512m
binlog_format   = mixed
log_output      = FILE
log-error       = ../mysql-error.log
slow_query_log  = 1
slow_query_log_file     = ../slow_query.log
general_log     = 0
general_log_file        = ../general_query.log
expire-logs-days        = 14
 
# InnoDB
innodb_data_file_path   = ibdata1:2048M:autoextend
innodb_log_file_size    = 256M
innodb_log_files_in_group       = 3
innodb_buffer_pool_size = 1024M
 
[mysql]
no-auto-rehash
prompt = (\u@\h) [\d]\_
default-character-set   = gbk
 
MySQL 데이터베이스를 초기화하려면:
/usr/local/mysql/scripts/mysql_install_db--datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql
 
MySQL 서비스를 시작하려면:
$/usr/local/mysql/bin/mysqld_safe--defaults-file=/data/mysqldata/3306/my.cnf &
 
데이터베이스 연결:
$/usr/local/mysql/bin/mysql
 
 
MySQL 서비스가 시작되었는지 확인하려면:
netstat -tnl | grep 3306
 
 
 
로컬에서 루트 사용자가 연결할 수 있는 레코드를 보관하고 다른 모든 사용자를 삭제합니다.
delete from mysql.user where (user,host)not in (select 'root','localhost');
관리자 사용자를 수정하려면 다음과 같이 하십시오.
update mysql.user setuser='system',password=password('password');
 
truncate table mysql.db;
모든 작업이 적용됩니다.
flush privileges;
 
 
MySQL 서비스 관리 구성
중간 정의 파일을 생성하여 스크립트의 재사용성을 높이려면 다음과 같이 하십시오.
$ vi/data/mysqldata/scripts/mysql_env.ini
# set env
MYSQL_USER=system
MYSQL_PASS=’password’
 
# check parameter
if [ $# -ne 1 ]
then
       HOST_PORT=3306
else
       HOST_PORT=$1
fi
 
운영 체제 레이어에서 파일의 사용 권한을 수정하려면 다음과 같이 하십시오.
$ chmod 600/data/mysqldata/scripts/mysql_env.ini
 
mysql 만들기db_startup.sh 스크립트, MySQL 서비스 시작:
$ vi/data/mysqldata/scripts/mysql_db_startup.sh
#!/bin/sh
 
source/data/mysqldata/scripts/mysql_env.ini
 
echo "Stratup MySQL Service:local_"${HOST_PORT}
/usr/local/mysql/bin/mysqld_safe--defaults-file=/data/mysqldata/${HOST_PORT}/my.cnf &
 
mysql 만들기db_shutdown.sh 스크립트, MySQL 서비스를 닫는 데 사용:
$ vi/data/mysqldata/scripts/mysql_db_shutdown.sh
#!/bin/sh
 
source/data/mysqldata/scripts/mysql_env.ini
 
echo "Shutdown MySQL Service:localhost_"${HOST_PORT}
/usr/local/mysqldata/bin/mysqladmin-u${MYSQL_USER} -p${MYSQL_PASS} -S/data/mysqldata/${HOST_PORT}/mysql.sockshutdown
 
mysqlplus 만들기sh 스크립트 파일은 빠른 로그인에 사용됩니다.
$ vi/data/mysqldata/scripts/mysqlplus.sh
         
#!/bin/sh
 
source/data/mysqldata/scripts/mysql_env.ini
 
echo "Login MySQL Service:localhost_"${HOST_PORT}
/usr/local/mysql/bin/mysql-u${MYSQL_USER} -p${MYSQL_PASS} -S/data/mysqldata/${HOST_PORT}/mysql.sock $2
 
위의 스크립트에 대한 권한 부여:
$ chmod +x/data/mysqldata/scripts/*.sh
mysql 사용자의 환경 변수를 편집하여 PATH에 이러한 경로를 추가합니다.
$ echo "exportPATH=/data/mysqldata/scripts:$PATH">>~/.bash_profile
$ source ~/.bash_profile
 
편집/etc/rc.local은 MySQL 전원을 켜고 마지막으로 다음을 추가합니다.
sudo -i -u mysql/data/mysqldata/scripts/mysql_db_startupsh 3306 >/home/mysql/mysql_db_startup.log 2>&1
 
sudo: sorry, you myst have a ttyto run sudo를 피하기 위해Defaultsrequiretty에 주석을 달았습니다.

좋은 웹페이지 즐겨찾기