Home > Database > Mysql Tutorial > Detailed explanation of how to install MySQL5.7.18 under centos system

Detailed explanation of how to install MySQL5.7.18 under centos system

藏色散人
Release: 2020-02-02 19:04:00
forward
2818 people have browsed it

Detailed explanation of how to install MySQL5.7.18 under centos system

1. First install the dependency package

yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel
Copy after login

The most important thing is, don’t forget to install openssl-devel

(free learning video tutorial recommended : mysql video tutorial)

2. Install cmake

tar -xzvf cmake-3.8.1.tar.gz   
cd cmake-3.8.1  
./bootstrap
make && make install
Copy after login

3. Install MySQL5.7.18

First download the installation package. My installation version is :mysql-boost-5.7.18.tar.gz

You need to download boost. I am matching the boost_1_59_0 version

Download, decompress it in the /usr/local directory, and rename it to boost

First add the system account corresponding to MySQL to ensure its local file permission allocation:

groupadd mysql
useradd -r -g mysql mysql
Copy after login

Create the database directory:

mkdir -p /var/mysql/data
chown mysql:mysql /var/mysql/data
Copy after login

Enter the decompressed MySQL installation package:

cd mysql-boost-5.7.18
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DINSTALL_DATADIR=/usr/local/mysql/data/master \
-DSYSCONFDIR=/usr/local/mysql/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_USER=mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
Copy after login

If an error occurs, after modification, you need to delete the CMakeCache.txt file in the current directory, and then restart cmake

make && make install
Copy after login

After completing the above steps, you need to change the owner of the mysql installation directory. For example, the directory we installed is /usr/local/mysql. Use the command

chown -R mysql:mysql /usr/local/mysql
Copy after login

to modify the directory owner. At this time, copy a copy of the default configuration file

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
Copy after login

After the blogger has completed the installation, there is no my-default.cnf file. You need to create it yourself. Attach the content of the file:

#For advice 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.
[mysqld]
#aracter_set_server=utf8
#init_connect='SET NAMES utf8' 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data/master
port = 3306
socket = /usr/local/mysql/data/mysql.sock
character-set-server=utf8
back_log = 300
max_connections = 3000
max_connect_errors = 50
table_open_cache = 4096
max_allowed_packet = 32M
#binlog_cache_size = 4M
max_heap_table_size = 128M
read_rnd_buffer_size = 16M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 16
query_cache_size = 128M
query_cache_limit = 4M
ft_min_word_len = 8
thread_stack = 512K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 128M
#log-bin=mysql-bin
long_query_time = 6
server_id=1
innodb_buffer_pool_size = 1G
innodb_thread_concurrency = 16
innodb_log_buffer_size = 16M
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = on
[mysqldump]
quick
max_allowed_packet = 32M
[mysql]
no-auto-rehash
default-character-set=utf8
safe-updates
[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 8192
[client]
port=3306
socket=/usr/local/mysql/data/mysql.sock
#default-character-set=utf8
Copy after login

If the prompt already exists If the file is overwritten, just overwrite it.

Then perform the initialization operation of the database.

/usr/local/mysql/bin/mysqld --initialize --user=mysql,
Copy after login

At this time, the database will be initialized and a database root account will be created. However, please note that this account has a default password. During initialization, the screen will Output the initialized password. If you missed it, you can see the default password by looking at /root/.mysql_secret.

Execute cp /usr/local/mysql/support-files/mysql.server /etc/init.d, copy the mysql service startup script, and then execute service mysql.server start to start mysql.

Finally /usr/local/mysql/bin/mysql -rroot -p, enter the password and press Enter. If Access denied for user 'root'@'localhost' (using password: YES) appears, under normal circumstances

service mysql.server restart Restart

After passing, you can use the following command to reset the root password

set password=password('你的密码');
Copy after login

At this point, the basic installation process is completed

The following method can be used to set up the startup

Commandecho "service mysqld start" >> /etc/rc.local

Or enter the /etc/ directory, Directly edit the rc.local file with vim rc.local, add "service mysqld start" in the last line, save and exit.

The above is the detailed content of Detailed explanation of how to install MySQL5.7.18 under centos system. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template