安装依赖包
yum install libaio -y
下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
解压创建目录
tar zxf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /optln -s /opt/mysql-5.7.30-linux-glibc2.12-x86_64 /opt/mysqlmkdir -p /data/mysql
修改启动脚本并添加开机自启动
sed -i '46s#basedir=#basedir=/opt/mysql#' /opt/mysql/support-files/mysql.serversed -i '47s#datadir=#datadir=/data/mysql#' /opt/mysql/support-files/mysql.servercp /opt/mysql/support-files/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldchkconfig mysqld
创建用户
groupadd mysqluseradd -r -g mysql -s /bin/false mysql
赋予data目录和base目录普通用户组
chown -R mysql.mysql /opt/mysql/chown -R mysql.mysql /data/
ln -s /opt/mysql/bin/mysql /usr/bin/
创建配置文件
vim /etc/my.cnf
[mysqld]datadir = /data/mysqlbasedir = /opt/mysql#tmpdir = /data/mysql/tmp_mysqlport = 3306socket = /data/mysql/mysql.sockpid-file = /data/mysql/mysql.pidmax_connections = 8000max_connect_errors = 100000max_user_connections = 3000check_proxy_users = onmysql_native_password_proxy_users = onlocal_infile = OFFsymbolic-links = FALSEgroup_concat_max_len = 4294967295max_join_size = 18446744073709551615max_execution_time = 20000lock_wait_timeout = 60autocommit = 1lower_case_table_names = 1thread_cache_size = 64disabled_storage_engines = "MyISAM,FEDERATED"character_set_server = utf8mb4character-set-client-handshake = FALSEcollation_server = utf8mb4_general_ciinit_connect = 'SET NAMES utf8mb4'transaction-isolation = "READ-COMMITTED"skip_name_resolve = ONexplicit_defaults_for_timestamp = ONlog_timestamps = SYSTEMlocal_infile = OFFevent_scheduler = OFFquery_cache_type = OFFquery_cache_size = 0sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZEROlog_error = /data/mysql/mysql.errslow_query_log = ONslow_query_log_file = /data/mysql/slow.loglong_query_time = 1general_log = OFFgeneral_log_file = /data/mysql/general.logexpire_logs_days = 99log-bin = /data/mysql/mysql-binlog-bin-index = /data/mysql/mysql-bin.indexmax_binlog_size = 500Mbinlog_format = mixedbinlog_rows_query_log_events = ONbinlog_cache_size = 128kbinlog_stmt_cache_size = 128klog-bin-trust-function-creators = 1max_binlog_cache_size = 2Gmax_binlog_stmt_cache_size = 2Grelay_log = /data/mysql/relayrelay_log_index = /data/mysql/relay.indexmax_relay_log_size = 500Mrelay_log_purge = ONrelay_log_recovery = ONserver_id = 1read_buffer_size = 1Mread_rnd_buffer_size = 2Msort_buffer_size = 64Mjoin_buffer_size = 64Mtmp_table_size = 64Mmax_allowed_packet = 128Mmax_heap_table_size = 64Mconnect_timeout = 43200wait_timeout = 43200back_log = 512interactive_timeout = 300net_read_timeout = 30net_write_timeout = 30skip_external_locking = ONkey_buffer_size = 16Mbulk_insert_buffer_size = 16Mconcurrent_insert = ALWAYSopen_files_limit = 65000table_open_cache = 16000table_definition_cache = 16000default_storage_engine = InnoDBdefault_tmp_storage_engine = InnoDBinternal_tmp_disk_storage_engine = InnoDB[client]socket = /data/mysql/mysql.sockdefault_character_set = utf8mb4[mysql]default_character_set = utf8mb4[ndatad default]TransactionDeadLockDetectionTimeOut = 20000
chown -R mysql.mysql /etc/my.cnf
初始化
/opt/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/data/mysql
过滤初始密码
mysql_passwd=$(grep 'A temporary password is generated' /data/mysql/mysql.err |awk '{print $NF}')
启动服务
service mysqld start
修改初始密码
/opt/mysql/bin/mysqladmin -uroot -p${mysql_passwd} password '123456'
客户端环境变量
echo "export PATH=\$PATH:/opt/mysql/bin" | tee /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh