CentOS7 컴파일 설치 MySQL5.7.10

7002 단어 linuxmysql
이전에는 MySQL을 rpm 형식의 설치 패키지로 설치해 왔습니다.그러나 rpm 패키지를 만들기 전에 많은 파라미터가 설정되어 있어서 사용하기에 불편하거나 불편하다.게다가 인터넷의 강좌는 대부분이 비교적 이르고 많은 세부 사항이 이미 유행이 지났기 때문에 자신이 직접 최신 버전의 CentOS7에 최신 버전을 설치한 MysQL5를 컴파일하기로 결정했다.7.10.
os:Linux mysql01 3.10.0-229.el7.i686 #1 SMP Sun May 17 14:06:40 UTC 2015 i686 i686 i386 GNU/Linux
database:mysql  Ver 14.14 Distrib 5.7.10, for Linux (i686) using  EditLine wrapper
준비된 소스 패키지:
      mysql-5.7.10.tar.gz(다운로드 링크:http://120.52.72.46/cdn.mysql.com/c3pr90ntcsf0//Downloads/MySQL-5.7/mysql-5.7.10-linux-glibc2.5-i686.tar.gz
)
      boost_1_59_0.tar.gz(다운로드 링크:http://vorboss.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
)
도구 설치:yum-y install make gcc-c++ cmake bison-devel ncurses-devel
사용자 그룹을 만들려면 다음과 같이 하십시오.
   groupadd mysql
mysql 사용자를 만들려면 다음과 같이 하십시오.
    useradd -r -g mysql -s/bin/mysql_shell -M mysql
/opt/mysql 폴더를 만들려면 다음과 같이 하십시오.
    mkdir/opt/mysql
/data/mysql/data 만들기:
    mkdir -p/data/mysql/data
/data/mysql/config 만들기
    mkdir -p/data/mysql/config
수정 파일의 소유자는 mysql이고
   chown mysql:mysql/opt/mysql
   chown -R mysql:mysql/data
/opt/boost 폴더 만들기
   mkdir/opt/boost
boost1_59_0.tar.gz 압축을/opt/boost 폴더에 풀기
  tar zxvf boost_1_59_0.tar.gz
사전 컴파일:

cmake . \
-DCMAKE_INSTALL_PREFIX=/opt/mysql  \					 [MySQL      ]
-DMYSQL_DATADIR=/data/mysql/data  \						 [MySQL         ]
-DSYSCONFDIR=/etc \										 [MySQL        ]
-DMYSQL_USER=mysql \									 [MySQL   ]  
-DWITH_MYISAM_STORAGE_ENGINE=1 \						 [MySQL      ]
-DWITH_INNOBASE_STORAGE_ENGINE=1 \						 [MySQL      ]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \						 [MySQL      ]
-DWITH_MEMORY_STORAGE_ENGINE=1 \						 [MySQL      ]
-DWITH_READLINE=1 \										 [MySQL readline library]
-DMYSQL_UNIX_ADDR=/data/mysql/config/mysql.sock \		 [MySQL     ]
-DMYSQL_TCP_PORT=3306 \									 [MySQL     ]
-DENABLED_LOCAL_INFILE=1 \								 [        ]
-DENABLE_DOWNLOADS=1 \									 [             ]
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DEXTRA_CHARSETS=all \									 [ MySQL         ]
-DDEFAULT_CHARSET=utf8 \								 [        utf8]
-DDEFAULT_COLLATION=utf8_general_ci \					 [        ]
-DWITH_DEBUG=0 \										 [      ]
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled \								 [     ssl  ]
-DWITH_ZLIB:STRING=bundled \							 [    zlib library]
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/opt/boost

설치 컴파일하기
    make && make install
그동안 마음의 준비 단단히 하고...
명령을 사용하여 MySQL의 설치 디렉터리/opt/mysql/아래에 관련 디렉터리 파일이 생성되었는지 확인하십시오. (가장 중요한 것은 bin과lib 디렉터리입니다.)lib 디렉터리 아래에 그림과 같은 것이 생성되지 않았다면.so 동적 라이브러리 파일 및.A 정적 라이브러리 파일은 설치가 성공하지 못했다는 것을 의미합니다. (성공하더라도 php 프로세스가 mysql 관련 라이브러리 파일을 찾을 수 없을 수도 있습니다.)
/etc/my를 수정합니다.cnf 프로필:

#dvice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# # *** default location during install, and will be replaced if you
# # *** upgrade to a newer version of MySQL.


[client]
port=3306
socket=/data/mysql/config/mysql.sock

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# # innodb_buffer_pool_size = 128M
#
# # Remove leading # to turn on a very important data integrity option: logging
# # changes to the binary log between backups.
# # log_bin
#
# # These are commonly set, remove the # and set as required.


#skip-grant-tables
#skip-networking

user = mysql
basedir = /opt/mysql
datadir = /data/mysql/data
port=3306
server-id = 1
socket=/data/mysql/config/mysql.sock

character-set-server = utf8
log-error = /var/log/mysql/error.log
pid-file = /var/log/mysql/mysql.pid
general_log = 1
skip-name-resolve
#skip-networking
back_log = 300

max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128 
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M

read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 28M
key_buffer_size = 4M

thread_cache_size = 8

query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30

performance_schema = 0
explicit_defaults_for_timestamp

#lower_case_table_names = 1

myisam_sort_buffer_size = 8M
myisam_repair_threads = 1

interactive_timeout = 28800
wait_timeout = 28800

# Remove leading # to set options mainly useful for reporting servers.
# # The server defaults are faster for transactions and fast SELECTs.
# # Adjust sizes as needed, experiment to find the optimal values.
# # join_buffer_size = 128M
# # sort_buffer_size = 2M
# # read_rnd_buffer_size = 2M 
#
# # Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Recommended in standard MySQL setup

sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES 

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M

PATH에 mysql 명령 추가하기
/etc/profile 파일을 수정하고 마지막으로 추가하려면 다음과 같이 하십시오.

export PATH=/opt/mysql/bin:$PATH

로그 저장 폴더를 만들려면 다음과 같이 하십시오.
    mkdir -p/var/log/mysql
MySQL 자체 데이터베이스를 초기화하려면 다음과 같이 하십시오.
mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql/data
전원 켜기 시작을 설정하려면:
cp/opt/mysql/support-files/mysql.server/etc/init.d/mysqld
chmod +x/etc/init.d/mysqld# 실행 권한 추가
chkconfig --add mysqld #sysV 서비스에 추가
chkconfig mysqld on
MySQL 서비스를 시작하려면:
    mysqld_safe --user=mysql --datadir=/data/mysql/data --log-error=/var/log/mysql/error.log
루트 암호를 수정하려면:
실행:
mysqld_safe --skip-grant-tables &
클라이언트 mysql -u root -p [캐리지 리턴] 추가
[회차]
SQL 상태 시작:
SQL>use mysql;
SQL>update mysql.user set authentication_string=password('smallbug') where user='root' and Host = 'localhost';
MySQL을 다시 시작하려면:
   /etc/init.d/mysqld restart
원격 로그인을 설정하려면:
   update user set host='%' where user='root';
   flush privileges;

좋은 웹페이지 즐겨찾기