在CentOS7系統上編譯安裝MySQL 5.7.13步驟詳解
發布時間:2017-03-06 09:09 來源:互聯網 當前欄目:web技術類
MySQL 5.7主要特性
1、更好的性能
對于多核CPU、固態硬盤、鎖有著更好的優化,每秒100W QPS已不再是MySQL的追求,下個版本能否上200W QPS才是用戶更關心的。
2、更好的InnoDB存儲引擎
3、更為健壯的復制功能
復制帶來了數據完全不丟失的方案,傳統金融客戶也可以選擇使用。此外,GTID在線平滑升級也變得可能。
4、更好的優化器
優化器代碼重構的意義將在這個版本及以后的版本中帶來巨大的改進,Oracle官方正在解決MySQL之前最大的難題。
5、原生JSON類型的支持
6、更好的地理信息服務支持
InnoDB原生支持地理位置類型,支持GeoJSON,GeoHash特性
7、新增sys庫
以后這會是DBA訪問最頻繁的庫MySQL 5.7已經作為數據庫可選項添加到《OneinStack》
安裝準備
安裝依賴包
[root@snails ~]# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison
下載相應源碼包
[root@snails ~]# wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz[root@snails ~]# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz
新建MySQL用戶和用戶組
[root@snails ~]# groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
預編譯
[root@snails ~]# tar -zxvf boost_1_59_0.tar.gz[root@snails data]# md5sum mysql-5.7.13.tar.gz 8fab75dbcafcd1374d07796bff88ae00 mysql-5.7.13.tar.gz[root@snails ~]# tar -zxvf mysql-5.7.13.tar.gz[root@snails data]# mkdir -p /data/mysql[root@snails data]# cd mysql-5.7.13[root@snails data]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/data/mysql \-DWITH_BOOST=../boost_1_59_0 \-DSYSCONFDIR=/etc \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DENABLE_DTRACE=0 \-DDEFAULT_CHARSET=utf8mb4 \-DDEFAULT_COLLATION=utf8mb4_general_ci \-DWITH_EMBEDDED_SERVER=1
編譯安裝
[root@snails mysql-5.7.13]# make -j `grep processor /proc/cpuinfo | wc -l`#編譯很消耗系統資源,小內存可能編譯通不過make install[root@snails mysql-5.7.13]# make install
設置啟動腳本,開機自啟動
[root@snails mysql-5.7.13]# ls -lrt /usr/local/mysql[root@snails mysql-5.7.13]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld[root@snails mysql-5.7.13]# chmod +x /etc/init.d/mysqld[root@snails mysql-5.7.13]# systemctl enable mysqldmysqld.service is not a native service, redirecting to /sbin/chkconfig.Executing /sbin/chkconfig mysqld on
配置文件
/etc/my.cnf,僅供參考
[root@snails mysql-5.7.13]# cat > /etc/my.cnf << EOF[client]port = 3306socket = /dev/shm/mysql.sock[mysqld]port = 3306socket = /dev/shm/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlpid-file = /data/mysql/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 1init-connect = 'SET NAMES utf8mb4'character-set-server = utf8mb4#skip-name-resolve#skip-networkingback_log = 300max_connections = 1000max_connect_errors = 6000open_files_limit = 65535table_open_cache = 128max_allowed_packet = 4Mbinlog_cache_size = 1Mmax_heap_table_size = 8Mtmp_table_size = 16Mread_buffer_size = 2Mread_rnd_buffer_size = 8Msort_buffer_size = 8Mjoin_buffer_size = 8Mkey_buffer_size = 4Mthread_cache_size = 8query_cache_type = 1query_cache_size = 8Mquery_cache_limit = 2Mft_min_word_len = 4log_bin = mysql-binbinlog_format = mixedexpire_logs_days = 30log_error = /data/mysql/mysql-error.logslow_query_log = 1long_query_time = 1slow_query_log_file = /data/mysql/mysql-slow.logperformance_schema = 0explicit_defaults_for_timestamp#lower_case_table_names = 1skip-external-lockingdefault_storage_engine = InnoDB#default-storage-engine = MyISAMinnodb_file_per_table = 1innodb_open_files = 500innodb_buffer_pool_size = 64Minnodb_write_io_threads = 4innodb_read_io_threads = 4innodb_thread_concurrency = 0innodb_purge_threads = 1innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 32Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120bulk_insert_buffer_size = 8Mmyisam_sort_buffer_size = 8Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1interactive_timeout = 28800wait_timeout = 28800[mysqldump]quickmax_allowed_packet = 16M[myisamchk]key_buffer_size = 8Msort_buffer_size = 8Mread_buffer = 4Mwrite_buffer = 4MEOF
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
11、
12、
13、
14、
15、
16、
17、
18、
19、
20、
21、
22、
23、
24、
25、
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
11、
12、
13、
14、
15、
16、
17、
18、
19、
20、
21、
22、
23、
24、
25、