mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
Centos7.5
创建用户和组groupadd mysql useradd -g mysql -s /sbin/nologin mysql
解压到指定目录并重命名
配置环境变量echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profilesource /etc/profile
mkdir -p /data/mysql/{data,binlogs,log,etc,run}ln -s /data/mysql/data /usr/local/mysql/dataln -s /data/mysql/binlogs /usr/local/mysql/binlogsln -s /data/mysql/log /usr/local/mysql/logln -s /data/mysql/etc /usr/local/mysql/etcln -s /data/mysql/run /usr/local/mysql/runchown -R mysql.mysql /data/mysql/chown -R mysql.mysql /usr/local/mysql/{data,binlogs,log,etc,run}
删除系统自带的my.cnfrm -f /etc/my.cnf
在/usr/local/mysql/etc/下创建my.cnf文件,加入如下参数[client]port = 3306socket = /usr/local/mysql/run/mysql.sock[mysqld]pid_file = /usr/local/mysql/run/mysql.piddatadir = /usr/local/mysql/datamax_connections = 2048open_files_limit = 65535skip-name-resolvelower_case_table_names=1character-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'innodb_buffer_pool_size = 1024Minnodb_log_file_size = 2048Minnodb_file_per_table = 1innodb_flush_log_at_trx_commit = 0key_buffer_size = 64Mlog-error = /usr/local/mysql/log/mysql_error.loglog-bin = /usr/local/mysql/binlogs/mysql-binslow_query_log = 1slow_query_log_file = /usr/local/mysql/log/mysql_slow_query.loglong_query_time = 5tmp_table_size = 32Mmax_heap_table_size = 32Mquery_cache_type = 0query_cache_size = 0server-id=1
初始化mysqlmysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记住生成的root密码grep 'temporary password' /usr/local/mysql/log/mysql_error.log
生成sslmysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
配置系统服务cd /usr/lib/systemd/system touch mysqld.service,并加入以下内容[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlType=forkingPIDFile=/usr/local/mysql/run/mysqld.pid# Disable service start and stop timeout logic of systemd for mysqld service.TimeoutSec=0# Execute pre and post scripts as rootPermissionsStartOnly=true# Needed to create system tables#ExecStartPre=/usr/bin/mysqld_pre_systemd# Start main serviceExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/run/mysqld.pid $MYSQLD_OPTS# Use this to switch malloc implementationEnvironmentFile=-/etc/sysconfig/mysql# Sets open_files_limitLimitNOFILE = 65535Restart=on-failureRestartPreventExitStatus=1PrivateTmp=false
systemctl enable mysqldsystemctl start mysqld
用步骤8中的root密码进行登录