This article describes how to install MySQL 5.7 from source code in the CentOS 7 environment. Share with you for your reference, the details are as follows: Install dependency packages Copy the code as follows: yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++ Download the corresponding source package wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz Add mysql user useradd -M -s /sbin/nologin mysql Unzip the source package tar zxvf boost_1_59_0.tar.gz -C /home/mysql # Unzip the file to the /home/mysql directory tar zxvf mysql-5.7.12.tar.gz Compile mysql cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/mysql_client/mysql-5.7-01 \ -DMYSQL_DATADIR=/home/mysql/mysql_data/mysql-5.7-01 \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/home/mysql/boost_1_59_0 \ #Specify the location of boost -DSYSCONFDIR=/etc/mysql \ -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=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_EMBEDDED_SERVER=1 \ -DMYSQL_TCP_PORT=3306; Compile and install make -j `grep processor /proc/cpuinfo | wc -l` #Compiling will consume a lot of memory, small memory may not be able to complete the compilation make install #Start installation Configuration startup Copy the code as follows: cp /home/mysql/mysql_client/mysql-5.7-01/support-files/mysql.server /etc/init.d/mysqld Add executable permissions chmod +x /etc/init.d/mysqld #mysqld can modify the mysql configuration file path Configure mysql configuration /etc/my.cnf, for reference only [client] port = 3306 socket = /home/mysql/mysql_data/mysql-5.7-01/mysql.sock default-character-set = utf8 [mysqld] port = 3306 socket = /home/mysql/mysql_data/mysql-5.7-01/mysql.sock basedir = /home/mysql/mysql_client/mysql-5.7-01 datadir = /home/mysql/mysql_data/mysql-5.7-01 pid-file = /home/mysql/mysql_data/mysql-5.7-01/mysql/mysql.pid user = mysql bind-address = 0.0.0.0 server-id = 1 init-connect = 'SET NAMES utf8' character-set-server = utf8 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 = 8M 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 = /home/mysql/mysql_logs/mysql-5.7-01/mysql-bin binlog_format = mixed expire_logs_days = 30 log_error = /home/mysql/mysql_logs/mysql-5.7-01/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /home/mysql/mysql_logs/mysql-5.7-01/mysql-slow.log performance_schema = 0 explicit_defaults_for_timestamp skip-external-locking default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_open_files = 500 innodb_buffer_pool_size = 64M innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 2M innodb_log_file_size = 32M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 8M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 interactive_timeout = 28800 wait_timeout = 28800 [mysqldump] quick max_allowed_packet = 16M [myisamchk] key_buffer_size = 8M sort_buffer_size = 8M read_buffer = 4M write_buffer = 4M Remember to assign the mysql related folders to the mysql user we created earlier chown -R mysql.mysql mysql/ Initialize the database /home/mysql/mysql_client/mysql-5.7-01/bin/mysqld --initialize-insecure --user=mysql --basedir=/home/mysql/mysql_client/mysql-5.7-01 --datadir=/home/mysql/mysql_data/mysql-5.7-01 #--initialize-insecure does not generate a random password Start the database /etc/init.d/mysqld start Enter the database /home/mysql/mysql_client/mysql-5.7-01/bin/mysql -uroot -p I hope this article will help you configure your CentOS server. You may also be interested in:
|
<<: JS calculates the probability of winning based on the prize weight
>>: How to notify users of crontab execution results by email
Preface When developing a gateway project, the si...
Mixin method: The browser cannot compile: The old...
This article shares the specific code of js to re...
This article example shares the specific code of ...
What is load balancing? When a domain name points...
1. Avoid declaring the page as XML type . The pag...
Mysql5.5 dual machine hot standby Implementation ...
<br />Now let's take a look at how to cl...
Server Status Analysis View Linux server CPU deta...
1. Log in to the system and enter the directory: ...
Table of contents 1. MySQL data backup 1.1, mysql...
The default submission method of html is get inste...
1. The value used in the button refers to the text...
Table of contents 1. prototype (explicit prototyp...
If you are a software developer, you must be fami...