Here I choose the official website to download the source package, compile and install
Reference 1: when linux is configured, how do you choose to install it by compilation or by yum
Reference 2: mysql installation under linux
1, Preparation:
Download address on Mysql official website
2, Pit summary:
2.1 about initialization:
MySQL 5.7 is different from the previous versions. This command is available in many materials:.. / scripts / MySQL ﹐ install ﹐ DB – user=mysql, while MySQL ﹐ install ﹐ DB command of MySQL 5.7 is in bin directory and MySQL D – initialize command is recommended
5.7 used after
bin/mysqld --initialize --user=mysql --basedir=/Ultrapower/test/mysql --datadir=/Ultrapower/test/mysql/data
2.2 about configuration files:
A lot of information has such a paragraph
cp support-files/my-default.cnf /etc/my.cnf
Just copy the configuration file under MySQL / support files / my-default.cnf to / etc/my.cnf, but there is no my-default.cnf configuration file after 5.7, which does not affect.
After the normal installation, / etc/my.cnf should exist, and you can copy it regardless of the above step. The following is my profile, which can be used by reference.
# 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]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
general_log_file = /var/log/mysql/mysql.log
general_log = 1
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
#kip-external-locking
skip-name-resolve
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysql.pid
port=3306
character_set_server=utf8
init_connect='SET NAMES utf8'
log-error=/usr/local/mysql/data/mysqld.err
slow_query_log = 1
slow_query_log_file =/usr/local/mysql/data/slow-query.log
long_query_time = 1
log-queries-not-using-indexes
max_connections = 1024
back_log = 128
wait_timeout = 100
interactive_timeout = 200
key_buffer_size=256M
query_cache_size = 256M
query_cache_type=1
query_cache_limit=50M
max_connect_errors=20
sort_buffer_size = 2M
max_allowed_packet=16M
join_buffer_size=2M
thread_cache_size=200
innodb_buffer_pool_size = 2048M
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_log_files_in_group=3
server_id=1
log-bin=mysql-bin
binlog_cache_size=2M
max_binlog_cache_size=8M
max_binlog_size=512M
expire_logs_days=7
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# jo
2.3 about startup: use the command systemctl start mysql.service to report an error
[csy@root@instance-m4tjyg0q ~]# systemctl start mysql.service
Error getting authority: Error initializing authority: Error calling StartServiceByName
for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24)
Could not watch jobs: Connection timed out
[csy@root@instance-m4tjyg0q ~]#
The correct way to start is
#/etc/init.d/mysql start or service mysql start or bin / mysqld_safe&
2.4 about the client remote connection permission problem:
Because the host is localhost when the user is created, other external ip has no access and needs authorization
GRANT ALL PRIVILEGES ON *.* TO 'user name'@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION;
%It's any ip
reference: Navicat can't connect to MySQL on Linux server
Baidu to solve other problems~