centos7에서 mysql을 컴파일하고 설치하는 방법: 1. 종속성 패키지를 설치합니다. 2. 해당 소스 코드 패키지를 다운로드합니다. 3. 다운로드한 mysql을 "/usr/local/mysql" 디렉터리에 추출합니다. 4. "/etc"를 편집합니다. /my .cnf"; 5. mysql을 초기화합니다. 6. mysql을 시작합니다.
이 기사의 운영 환경: centos7 시스템, mysql 버전 5.7, Dell G3 컴퓨터.
centos7에서 mysql을 어떻게 컴파일하고 설치하나요?
centos7 소스 코드 컴파일 및 mysql5.7 설치
과거에는 다른 이유 없이 mysql5.7의 소스 코드 컴파일 및 설치가 가장 짜증났습니다. 매우 번거롭지만 최근에는 학습 요구로 인해 피할 수 없습니다. 주로 Centos7 아래의 소스 코드에서 컴파일 및 설치 mysql5.7에 도입됩니다.
환경: MiniCentos7 (다운로드 주소: https://www.centos.org/download/ )
종속성 패키지 설치
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison
해당 소스 코드 패키지 다운로드
Mysql5.7 컴파일 및 설치에는 부스트 라이브러리가 필요합니다. , 여기 공식 웹사이트에서 다운로드하십시오. Boost가 포함된 소스 패키지
다운로드 주소는 여기에 제공됩니다
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.25.tar.gz
사용자 추가
useradd -s /sbin/nologin mysql
필요한 디렉터리를 생성하고 소유자를 mysql
mkdir -p /data/mysql/data chown -R mysql:mysql /data/mysql로 변경합니다.
다운로드한 mysql을 / usr/local/mysql 디렉토리
tar -zxvf mysql-boost-5.7.25.tar.gz -C /usr/local/mysql/
/usr/local/mysql 디렉토리로 전환하고 컴파일 및 설치
cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost
make && make install
설치된 /usr/local/mysql 디렉토리 구조
Edit /etc/my.cnf (없으면 생성하세요)
제가 설정한 파일의 내용은 다음과 같습니다
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock user = mysql basedir = /usr/local/mysql datadir = /data/mysql/data pid-file = /data/mysql/mysql.pid log_error = /data/mysql/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /data/mysql/mysql-slow.log skip-external-locking key_buffer_size = 32M max_allowed_packet = 1024M table_open_cache = 128 sort_buffer_size = 768K net_buffer_length = 8K read_buffer_size = 768K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M thread_cache_size = 16 query_cache_size = 16M tmp_table_size = 32M performance_schema_max_table_instances = 1000 explicit_defaults_for_timestamp = true #skip-networking max_connections = 500 max_connect_errors = 100 open_files_limit = 65535 log_bin=mysql-bin binlog_format=mixed server_id = 232 expire_logs_days = 10 early-plugin-load = "" default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 32M sort_buffer_size = 768K read_buffer = 2M write_buffer = 2M
위의 설정 내용은 꼭 필요한 내용은 아니며 실제 상황에 따라 적절히 조정하시면 됩니다!
설치 디렉터리 사용자 및 그룹을 mysql
chown -R mysql:mysql mysql로 변경하세요
데이터베이스 데이터 디렉터리 사용자 및 그룹을 mysql(데이터베이스 데이터 디렉터리: /data/mysql/data)로 변경하세요. 방법은 위와 동일합니다!
참고: / data/mysql/data 디렉터리는 비어 있어야 합니다
Initialize mysql
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
참고: 이 단계에서는 잘못되기 쉽습니다. 초기화 중에 위의 매개변수를 추가해야 하며, 이 단계를 수행하기 전에 /data/mysql/을 추가해야 합니다. . 데이터 디렉터리는 비어 있어야 합니다. 여기에 지정된 basedir 및 datadir 디렉터리는 /etc/my.cnf에 구성된 디렉터리와 일치해야 합니다.
실행 가능한 구성 파일을 복사하세요
cp mysql.server /etc/init.d/mysqld
참고: 일부 네티즌 기사에서는 이 단계에서 my-default.cnf를 /usr/local/mysql/support-files 디렉터리에서 /etc/로 복사하는 내용을 쓸 것입니다. my.cnf 구성 파일이 있는데 여기에는 이 파일이 없으므로 구성 프로세스에서 직접 my.cnf 파일을 구성했습니다.
Startup
service mysqld start
참고: 이 단계에서도 문제가 쉽게 발생할 수 있습니다. 여기서 문제가 발생하면 당황하지 마세요. 일반적으로 mysql 오류 로그의 내용을 보면 괜찮습니다. 문제 해결을 위한 mysql 오류 로그 프롬프트.
연결 테스트
./mysql -hlocalhost -uroot -p
비밀번호 없이 성공적으로 연결할 수 있습니다
환경 변수 수정
/etc/profile에 새 줄 추가
PATH=/usr/local/mysql/bin:$PATH
저장 및 종료
source /etc/profile
부팅 시 자동 시작 설정
systemctl enable mysqld
추천 학습: "mysql 비디오 튜토리얼"
위 내용은 centos7에서 mysql을 컴파일하고 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!