> 데이터 베이스 > MySQL 튜토리얼 > 여러 mysql 데이터베이스 구성 예제의 MySQL-Centos 설치에 대한 자세한 소개

여러 mysql 데이터베이스 구성 예제의 MySQL-Centos 설치에 대한 자세한 소개

黄舟
풀어 주다: 2017-03-11 13:59:00
원래의
1752명이 탐색했습니다.

Linux 운영 체제: centOS6.5 64비트(시스템 기본 개발 패키지 설치)

데이터베이스 1:
MYSQL 버전: mysql-5.0.56
PORT:3306
시스템 디렉터리: /usr/local/mysql3306
데이터베이스 2:
MYSQL 버전: mysql-5.1.72
PORT:3307

시스템 디렉터리:/usr/local/mysql3307

1. 개발 패키지 설치(기본 CENTOS 업데이트 소스 사용):

<pre name="code" class="plain"># yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl 
openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*
로그인 후 복사

2. iptables 및 SELINUX를 닫습니다

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
로그인 후 복사

3.mysql 데이터베이스 인스턴스를 설치합니다

1. 컴파일된 패키지

# su -
# mkdir ~/src
# cd src
# wget http://www.php.cn/
# wget http://www.php.cn/
로그인 후 복사

를 다운로드합니다. 2. 설치 전 초기 구성 작업:

1) Mysql 사용자를 생성합니다
# useradd mysql
로그인 후 복사
2). mysql 디렉토리
# mkdir -p /usr/local/mysql{3306,3307}/data          
# mkdir -p /usr/local/mysql{3306,3307}/log
로그인 후 복사
3)
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/data/
# chown -R mysql:mysql /usr/local/mysql{3306,3307}/log/
# chmod 750 /usr/local/mysql{3306,3307}/data      
# chmod 750 /usr/local/mysql{3306,3307}/log
로그인 후 복사
디렉토리의 소유자 및 그룹 권한을 수정합니다. 4) mysql 관련 디렉토리를 생성하고
# mkdir -p /usr/local/mysql{3306,3307}/etc
# chown -R mysql.mysql /usr/local/mysql{3306,3307}/etc
# mkdir -p /var/run/mysqld{3306,3307}
# chown -R mysql.mysql /var/run/mysqld{3306,3307}
# mkdir -p /var/lib/mysqld{3306,3307}
# chown -R mysql.mysql /var/lib/mysqld{3306,3307}
# cp /etc/my.cnf /usr/local/mysql{3306,3307}/etc
로그인 후 복사

권한을 구성합니다. , 컴파일 및 설치

데이터베이스 1 컴파일:
# cd ~/src
# tar -zxvf mysql-5.0.56.tar.gz    
# cd mysql-5.0.56  
./configure --prefix=/usr/local/mysql3306 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3306/etc  
--localstatedir=/usr/local/mysql3306/data --with-tcp-port=3306 -enable-assembler --with-mysqld-ldflags=-all-static 
--with-charset=utf8 --with-extra-charsets=utf-8 -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap 
--with-unix-socket-path=/tmp/mysql3306.sock
# make
# make install
로그인 후 복사
데이터베이스 2 컴파일:
# cd ~/src
# tar -zxvf mysql-5.1.71.tar.gz    
# cd mysql-5.1.71
./configure --prefix=/usr/local/mysql3307 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3307/etc  
--localstatedir=/usr/local/mysql3307/data --with-tcp-port=3307 -enable-assembler --with-mysqld-ldflags=-all-static 
--with-charset=utf8 --with-extra-charsets=utf-8 -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap 
--with-unix-socket-path=/tmp/mysql3307.sock
# make
# make install
로그인 후 복사

4. mysql 구성 항목 작성:

데이터베이스 1 구성:
# vi /usr/local/mysql3306/etc/my.cnf
-------------------------------------------------------
[mysqld]
datadir=/usr/local/mysql3306/data
socket=/tmp/mysql3306.sock
user=mysql
port=3306
pid-file=/var/lib/mysqld3306/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3306/log/error.log
log=/usr/local/mysql3306/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3306/log/slowquery.log
log-bin= /usr/local/mysql3306/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
default-storage-engine=INNODB 
[mysqld_safe]
log-error=/var/log/mysqld3306.log
pid-file=/var/run/mysqld3306/mysqld.pid
로그인 후 복사
데이터베이스 2개 구성:
# vi /usr/local/mysql3307/etc/my.cnf
-------------------------------------------------------
[mysqld]
datadir=/usr/local/mysql3307/data
socket=/tmp/mysql3307.sock
user=mysql
port=3307
pid-file=/var/lib/mysqld3307/mysql.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections= 16384
skip-name-resolve
skip-locking
key_buffer = 256M
max_allowed_packet = 32M
table_cache = 3072
thread_cache_size = 256
sort_buffer_size = 16M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
net_buffer_length = 256M
thread_stack = 8M
query_cache_size = 128M
query_cache_limit = 2M
wait_timeout=7200
interactive_timeout=7200
#log
log-error=/usr/local/mysql3307/log/error.log
log=/usr/local/mysql3307/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql3307/log/slowquery.log
log-bin= /usr/local/mysql3307/log/bin.log
expire_logs_days = 15
sync_binlog = 1
max_binlog_cache_size = 4294967295
local-infile=0
default-storage-engine=INNODB
[mysqld_safe]
log-error=/var/log/mysqld3307.log
pid-file=/var/run/mysqld3307/mysqld.pid
-------------------------------------------------------
로그인 후 복사

5. mysql 라이브러리 파일 경로를 시스템 라이브러리 파일 검색 경로에 추가

방법 1: 직접 소프트 링크 만들기
# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql
로그인 후 복사
방법 2: ldconfig를 사용하여 시스템 라이브러리
# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf
# ldconfig
로그인 후 복사

가져오기 6. mysql 헤더 파일을 시스템 헤더 파일

# ln -s /usr/local/mysql3306/include/mysql /usr/include/mysql
로그인 후 복사

에 출력 참고: 여기서는 라이브러리 파일만 추가하면 됩니다.

을 여러 번 추가할 필요가 없습니다. 7. 해당 인스턴스의 설치 경로를 입력하고 해당 구성 스크립트를 초기화합니다.

:
# cd /usr/local/mysql3306
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
로그인 후 복사
데이터베이스 2 구성:
# cd /usr/local/mysql3307
# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3307/data
로그인 후 복사

8. mysql 시작 스크립트를 시스템 서비스 디렉터리에 복사하고 스크립트 구성을 변경합니다

# cp /usr/local/mysql3306/support-files/mysql.server /etc/init.d/mysqld3306
# cp /usr/local/mysql3307/support-files/mysql.server /etc/init.d/mysqld3307
로그인 후 복사
데이터베이스 1 구성:
# vi /etc/init.d/mysqld3006
로그인 후 복사
basedir=/usr/local/mysql3306
datadir=/usr/local/mysql3306/data
conf=/usr/local/mysql3306/etc/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
--------------------------------------------
로그인 후 복사

아래 그림에서 빨간색으로 표시된 매개변수는 추가된 매개변수입니다.


데이터베이스 2 구성:
# vi /etc/init.d/mysqld3007
로그인 후 복사
rrree

매개변수 아래 그림에서 빨간색으로 표시된 부분은 추가된 매개변수입니다.


9. 시스템 시작 항목 관련 구성

데이터베이스 1 구성:
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
conf=/usr/local/mysql3307/etc/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
--------------------------------------------
로그인 후 복사
데이터베이스 2개 구성:
# chkconfig --add mysqld3306  #添加开机启动服务
# chkconfig --level 35 mysqld3306 on  #设置mysql启动
로그인 후 복사

10. mysql 시작

데이터베이스 첫 번째 시작:
# chkconfig --add mysqld3307  
# chkconfig --level 35 mysqld3307 on
로그인 후 복사
데이터베이스 두 번째 시작:
# service mysqld3306 start
로그인 후 복사

11 추가 시스템 전역 변수

에 설정된 mysql 명령 참고: 이전에 시스템에 mysql 클라이언트가 설치되지 않은 경우 시스템 전역 변수
에 설정된 좋은 mysql 명령을 가져온 후 컴파일할 수 있습니다. 절대 경로를 사용하지 않고 mysql 명령 집합을 직접 사용하여 액세스할 수 있습니다.

# service mysqld3307 start
로그인 후 복사

12. 초기 계정을 설정하고 백엔드에 로그인합니다:

데이터베이스 1:
# echo "PATH=$PATH:/usr/local/mysql3306/bin;export PATH" >> /etc/profile
# source /etc/profile
로그인 후 복사
데이터베이스 2:
# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #连接数据库
로그인 후 복사

참고: mysql 환경 변수가 추가되었기 때문에 향후 시스템 백그라운드에서 직접 mysql 명령을 사용하여 로그인할 수 있습니다. 여기서는 표준 경로를 사용합니다. 작업

# /usr/local/mysql3307/bin/mysqladmin -u root password 123456   #设置超级管理员密码
# /usr/local/mysql3307/bin/mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456 #连接数据库
로그인 후 복사

13. 포트 테스트:

# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456
로그인 후 복사

완료!

4. 문제

1. ./scripts/mysql_install_db: 해당 파일 또는 디렉터리 없음

설치 프로세스 중에

#lsof -i:3306
#lsof -i:3307
로그인 후 복사

를 실행할 때 보고되는 오류 메시지는 다음과 같습니다.

scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql3306/data
로그인 후 복사

mysql에 대한 설명 설치 디렉터리에는 scripts 디렉터리가 없습니다. 이때 압축이 풀린 소스코드에 있는 스크립트 디렉터리를 설치 디렉터리에 복사하고 명령어를 다시 실행하면 됩니다. <…

-bash: ./scripts/mysql_install_db: No such file or directory
로그인 후 복사

오류 메시지는 다음과 같습니다.

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld3307
로그인 후 복사

압축 해제된 소스 코드의 support-files 디렉터리를 설치 디렉터리에 복사하고 명령을 다시 실행하세요

3. env : /etc/init.d/mysqld3307: 권한이 거부되었습니다

데이터베이스를 시작할 때

cp: cannot stat `/usr/local/mysql3307/support-files/mysql.server&#39;: No such file or directory
로그인 후 복사

명령을 실행합니다. 오류 메시지는 다음과 같습니다:

service mysqld3307 start
로그인 후 복사

이때 그에 따른 대응이 필요합니다. 파일 인증을 위해서는

env: /etc/init.d/mysqld3307: Permission denied
로그인 후 복사

명령을 실행하고 해당 명령을 다시 실행하여 MySQL 데이터베이스 서비스 서비스 mysqld3307 start

위 내용은 여러 mysql 데이터베이스 구성 예제의 MySQL-Centos 설치에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿