디버깅 환경: Redhat9.0Apache1.3.29Mysql3.23.58PHP4.3.4
Linux 시스템 설치에 대해서는 다루지 않겠습니다. 사실 이 글은 제가 제공한 방법만 익히면 Redhat과 같은 다른 Linux 시스템에도 적용될 수 있습니다. Redhat9.0을 설치할 때 시스템 기본 apache, mysql, php 및 관련 소프트웨어를 설치하지 마십시오. 이미 설치되어 있는 경우 rpm-e*를 사용하여 설치된 패키지를 삭제하시기 바랍니다.
1.Mysql3.23.58 설치
사실, MySQL 공식 홈페이지에서 제공하는 rpm 패키지를 직접 설치하는 것이 더 실현 가능한 방법인데, 공식 홈페이지에서 제공하는 rpm 패키지가 기본적으로 tar 패키지 출시와 동기화되어 있어서 더 마음에 듭니다. 적어도 rpm 패키지 설치는 디버깅 중에 발견되지 않습니다. 그러나 여기서는 여전히 사용자 정의 설치 단계에 대해 이야기해야 합니다. 결국 네티즌에 의한 사용자 정의 설치가 상당히 많이 있습니다.
소프트웨어 취득: http://www.mysql.com/downloads/index.html
설치 단계:
tarzxvfmysql-3.23.58.tar.gz
cdmysql-3.23.58
./configure--prefix=/usr/local/mysql--sysconfdir=/etc--localstatedir=/var/lib/mysql
만들다
makeinstall
#prefix=/usr/local/mysqlm mysql 설치 대상 디렉터리
#sysconfdir=/etcmy.ini 구성 파일 경로
#localstatedir=/var/lib/mysql 데이터베이스 저장 경로
설치 후에는 데이터베이스를 초기화해야 합니다. 물론 업그레이드하는 경우에는 이 단계를 수행할 필요가 없습니다.
/usr/local/mysql/bin/mysql_install_db
시스템에 mysql 사용자가 없는 경우 다음 단계를 수행하는 것이 가장 좋습니다.
useradd-Mord/var/lib/mysql-s/bin/bash-c"MySQLServer"-u27mysql
그런 다음 mysql을 시작합니다.
/usr/local/mysql/bin/safe_mysqld&
좋아, 먼저 mysql이 정상적으로 작동하는지 확인해봐
mysql-urootmysql
정상적인 상황에서는 데이터베이스를 정상적으로 연결할 수 없으며 일반적으로 오류 메시지는 다음과 같습니다.
ERROR2002:소켓'/var/lib/mysql/mysql.sock'(2)을 통해 로컬 MySQL 서버에 연결할 수 없습니다.
사실, 인터넷에서 가장 자주 묻는 질문은 mysqld.sock을 연결할 수 없다는 것입니다. 실제로 여기서 무슨 일이 일어나고 있는지 이해하려면 mysql의 오류 로그를 살펴보는 것이 좋습니다. /var/lib/mysql/ *.err에 있으면 /var/lib/mysql의 권한이 mysql 서비스에 대한 액세스를 허용하지 않기 때문에 mysql을 시작할 수 없음을 알 수 있습니다. 기본적으로 영어 mysql은 mysql 사용자를 호출합니다. 서비스를 시작하세요. 이제 이유를 알았으니 서비스를 시작할 수 없는 이유를 알아보세요. 쉽습니다. chown-Rmysql:mysql/var/lib/mysql만 필요합니다. 그래도 시작할 수 없으면 천천히 권한을 디버깅하십시오. 어쨌든 시작 실패는 일반적으로 권한 문제입니다.
그래도 시작할 수 없다면 좀 더 복잡한 권한 설정을 사용하세요. 어쨌든 저는 매번 이 작업을 수행하며 일반적으로 아래를 참조하세요.
chown-Rroot/usr/local/mysql
chgrp-Rmysql/usr/local/mysql
chown-Rroot/usr/local/mysql/bin
chgrp-Rmysql/usr/local/mysql/bin
chgrp-Rmysql/var/lib/mysql
chmod777/var/lib/mysql
chown-Rroot/var/lib/mysql/mysql
chgrp-Rmysql/var/lib/mysql/mysql
chmod777/var/lib/mysql/mysql
chown-Rroot/var/lib/mysql/mysql/*
chgrp-Rmysql/var/lib/mysql/mysql/*
chmod777/var/lib/mysql/mysql/*
chmod777/usr/local/mysql/lib/mysql/libmysqlclient.a
위 단계를 완료한 후 컴파일 디렉터리에 스크립트를 복사하세요.
cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld
chkconfig --addmysqld
ntsysv 설정을 사용하면 mysql이 시작될 때마다 자동으로 실행되도록 할 수 있습니다.
자, 이제 mysql이 설치되었습니다. 다음과 같이 mysql 서비스를 시작할 수 있습니다.
/etc/rc.d/init.d/mysqldstart
다음 단계가 더 중요합니다.
ln -s/usr/local/mysql/lib/mysql/usr/lib/mysql
ln -s/usr/local/mysql/include/mysql/usr/include/mysql
이 단계를 수행할 필요는 없습니다. 다른 소프트웨어를 컴파일할 때 myslq의 라이브러리 파일 경로를 사용자 정의할 수 있지만 저는 여전히 라이브러리 파일을 기본 위치에 연결하여 컴파일할 때 지정할 필요가 없습니다. PHP, Vpopmail 등과 같은 소프트웨어. mysql의 라이브러리 파일 주소.