This article mainly introduces the detailed tutorial of installing Mysql5.7.19 on Centos7 under Linux. Friends in need can refer to it
1. Download mysql
2. Select the source code package and click to download the general version
You can download it directly without logging in
3. Unzip and compile
##
tar -zxvf mysql-5.7.19.tar.gz cd mysql-5.7.19.tar.gzCreate data directory
mkdir -p / data/mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ #这个是编译安装之后的mysql目录所在地,可自行更改 -DMYSQL_DATADIR=/data/mysql/ #这个指向数据目录 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/usr/local/mysql-5.7/conf/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DWITH_SSL=system -DWITH_ZLIB=system -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost #从MySQL 5.7.5开始Boost库是必需安装的After compilation
make && make install A long wait....The installation will be completed after that
DCMAKE_INSTALL_PREFIX=/usr/local/mysql/Generally for security reasons, we will create a mysql user and mysql group and execute the following commands
#添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysqlGive mysql permissions
chown -R mysql:mysql mysql #添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysqlGive mysql permission
chown -R mysql:mysql mysql
4. Next configure the startup direction and set the boot startup
Configuration/ect/my.cnf, if there is no my.cnf, you can create and add it yourself, for reference only
[client] ort = 3306 ocket = /tmp/mysql.sock default-character-set = utf8mb4 [mysqld] ort = 3306 ocket = /tmp/mysql.sock asedir = /usr/local/mysql datadir = /data/mysql id-file = /data/mysql/mysql.pid user = mysql ind-address = 0.0.0.0 erver-id = 1 init-connect = 'SET NAMES utf8mb4' character-set-server = utf8mb4 #skip-name-resolve #skip-networking ack_log = 300 max_connections = 1000 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 128 max_allowed_packet = 4M inlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 16M read_buffer_size = 2M read_rnd_buffer_size = 8M ort_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 = mysql-bi inlog_format = mixed expire_logs_days = 30 log_error = /data/mysql/mysql-error.log low_query_log = 1 long_query_time = 1 low_query_log_file = /data/mysql/mysql-slow.log erformance_schema = 0 explicit_defaults_for_timestam #lower_case_table_names = 1 kip-external-locking default_storage_engine = InnoDB #default-storage-engine = MyISAM 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 ulk_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 ort_buffer_size = 8M read_buffer = 4M write_buffer = 4MNext, execute the initialization database statement: Note
mysql_install_db is no longer recommended. It is recommended to change to mysqld –initialize to complete the instance initialization.
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqlThis step is very important. If you start the database directly without initialization, an error will be reported ERROR! The server quit without updating PID file (/data/mysql/ mysql.pid).If the initialization fails or the following error is reported, you need to clear your /data/mysql directory first. Because there is data under the mysql directory, the initialization execution is aborted. 2017-08-29T13:39:47.241469Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.2017-08-29T13:39:47.241536Z 0 [ERROR] Aborting Clear and then re-initialize
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqlNow you can start mysql
ervice mysqld startLog in Test
/usr/local/mysql/bin/mysql -uroot -Because initialization
--initialize-insecure does not have a password by default, so you can directly confirm the password without entering it;
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)Check whether you have successfully started the database or not.
ps -ef | grep mysql Check whether the process is started
[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by \"root\" with grant option;"[root@localhost local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"root\" with grant option;"Next, log in again and test if the password change is successful, it’s done!
Summarize
The above is the detailed content of Tutorial for Centos7 to install Mysql5.7.19 under Linux (picture). For more information, please follow other related articles on the PHP Chinese website!