CentOS MySQL 5.7 Compilation installation

Source: Internet
Author: User

CentOS MySQL 5.7 Compilation installation

MySQL 5.7 GA release, that is, from now on 5.7 can be used in the production environment, there are any problems the official will be repaired immediately.

MySQL 5.7 Key Features:

    • Better performance: For multi-core CPUs, solid-state drives, locks have better optimization, 100W QPS per second is no longer the pursuit of MySQL, the next version can be 200W QPS is our users more concerned about
    • A better InnoDB storage engine
    • More robust replication capabilities: Replication leads to a scenario where data is not lost at all, and traditional financial customers can choose to use the MySQL database. In addition, Gtid online smooth upgrade also becomes possible
    • Better optimizer: The meaning of Optimizer code refactoring will bring great improvements in this and later releases, Oracle is addressing MySQL's biggest challenge
    • Native JSON type support
    • Better geo-Information service support: InnoDB native support for geo-location types, support for Geojson,geohash features
    • New SYS library: This will be the most frequently accessed library for DBAs

MySQL 5.7 has been added as a database option to "Oneinstack"

Install dependent packages

?
1 yum -y installgcc gcc-c++ ncurses ncurses-devel cmake

Download the appropriate source package

?
123 CD /root/oneinstack/src wget http: //downloads .sourceforge.net Code class= "Bash plain" >/project/boost/boost/1 .59.0 /boost_1_59_0 tar .gz wget http: //cdn .mysql.com /downloads/mysql-5 .7 /mysql-5 .7.11. tar .gz

Add MySQL User

?
1 useradd-M -s /sbin/nologinmysql

Pre-compilation

?
12345678910111213141516171819 tar xzf boost_1_59_0.tar.gztar xzf mysql-5.7.11.tar.gzmkdir -p /data/mysqlcd mysql-5.7.11cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/data/mysql \-DDOWNLOAD_BOOST=1 \  #从MySQL 5.7.5开始Boost库是必需的-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

Compiling the installation

?
12 make-j `grep processor /proc/cpuinfo | wc -l` #编译很消耗系统资源,小内存可能编译通不过makeinstall

startup script, setting boot from boot

?
1234 /bin/cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchmod+x /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on

/ETC/MY.CNF, for reference only

?
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 66676869707172737475767778 cat > /etc/my.cnf << EOF[client]port = 3306socket = /tmp/mysql.sockdefault-character-set = utf8mb4[mysqld]port = 3306socket = /tmp/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

Initializing the database

Note:

    • Previous version mysql_install_db was under Mysql_basedir/script, 5.7 was placed in the Mysql_install_db/bin directory and has been discarded
    • "--initialize" generates a random password (~/.mysql_secret), and "--initialize-insecure" does not generate a password
    • --datadir cannot have data file under target directory

Start the database

?
1 /usr/local/mysql/bin/mysqld--initialize-insecure --user=mysql --basedir=/usr/local/mysql--datadir=/data/mysql

Set Database Password

?
12345 dbrootpwd=oneinstack #数据库root密码/usr/local/mysql/bin/mysql-e "grant all privileges on *.* to [email protected]‘127.0.0.1‘ identified by \"$dbrootpwd\" with grant option;"/usr/local/mysql/bin/mysql-e "grant all privileges on *.* to [email protected]‘localhost‘ identified by \"$dbrootpwd\" with grant option;"

CentOS MySQL 5.7 Compilation installation

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.