Mysql安裝部署

一、環(huán)境部署

軟件mysql -5.7.36系統(tǒng)Centos7.9
軟件下載地址:

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.36-el7-x86_64.tar.gz

1.1,主機(jī)準(zhǔn)備

主機(jī)名 IP地址
Mysql 172.22.204.77

1.2,優(yōu)化主機(jī)

主機(jī)操作

1.21,關(guān)閉防火墻及selinux

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config

二、開(kāi)始安裝

2.1,所有應(yīng)用軟件安裝目錄為

cd /opt/app
tar -zxvf mysql-5.7.36-el7-x86_64.tar.gz
mv mysql-5.7.36-el7-x86_64 mysql

2.2,my.cnf配置文件如下

## MySQL 5.7 Configuration File

[mysqld]

## General
user                                   = mysql
bind_address                           = 172.22.204.77
port                                   = 3306
basedir                                = /opt/app/mysql/
datadir                                = /opt/app/mysql/data/
tmpdir                                 = /opt/app/mysql/tmp
socket                                 = /opt/app/mysql/data/mysql.sock
pid-file                               = /opt/app/mysql/data/mysqld.pid

character_set_server                   = utf8
sql_mode                               = NO_ENGINE_SUBSTITUTION  # default "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
transaction_isolation                  = READ-COMMITTED    # default REPEATABLE-READ
explicit_defaults_for_timestamp        = ON     # default OFF
secure_file_priv                       =

skip-symbolic-links
skip_name_resolve                      = ON
skip_external_locking                  = ON

performance_schema                     = ON      # default ON
autocommit                             = ON      # default ON
#event_scheduler                        = ON     # default OFF
#lower_case_table_names                 = 0      # default 0
show_compatibility_56                  = ON      # >= 5.7.8 default OFF

## ssl
#ssl_ca                                 = /opt/app/mysql/data/ssl/ca.pem
#ssl_cert                               = /opt/app/mysql/data/ssl/server-cert.pem
#ssl_key                                = /opt/app/mysql/data/ssl/server-key.pem

## Networking
back_log                               = 1000
max_connections                        = 1100
max_user_connections                   = 1000
max_connect_errors                     = 1000000
interactive_timeout                    = 300
wait_timeout                           = 300
connect_timeout                        = 10
net_buffer_length                      = 1M
max_allowed_packet                     = 32M

## Cache
thread_cache_size                      = 192     # since 5.6.8 default -1, autosized ( max_connections / 100 ) + 8
table_open_cache                       = 4096
table_definition_cache                 = 4096
table_open_cache_instances             = 8
query_cache_type                       = 0
query_cache_size                       = 0
#query_cache_size                       = 32M
#query_cache_limit                      = 1M
#query_cache_min_res_unit               = 2K

## Per_thread Buffers
sort_buffer_size                       = 32M     # default 256K
read_buffer_size                       = 16M     # default 256K
read_rnd_buffer_size                   = 32M     # default 256K
join_buffer_size                       = 128M    # default 256K
bulk_insert_buffer_size                = 64M
thread_stack                           = 256K    # default 192K

## Temp Tables
tmp_table_size                         = 512M
max_heap_table_size                    = 512M

## Sort
max_length_for_sort_data               = 2048    # default 1024
eq_range_index_dive_limit              = 200     # default 10

### Storage Engines
default_storage_engine                 = InnoDB

## MyISAM
key_buffer_size                        = 512M
myisam_sort_buffer_size                = 256M    # default 8M, for change index
myisam_max_sort_file_size              = 10G
myisam_repair_threads                  = 1
myisam_recover_options                 = default

## InnoDB
innodb_file_per_table                  = ON
innodb_file_format_check               = ON
innodb_checksum_algorithm              = crc32
innodb_page_size                       = 16k     # default 16k
innodb_buffer_pool_size                = 2G      # default 1G, = innodb_buffer_pool_instances * innodb_buffer_pool_chunk_size * n
innodb_buffer_pool_instances           = 8       # since 5.6.6 if innodb_buffer_pool_size < 1G default 1 else 8
innodb_buffer_pool_chunk_size          = 128M    # defautl 128M
#innodb_data_file_path                  = ibdata1:100M:autoextend
#innodb_temp_data_file_path             = ../tmp/ibtmp1:12M:autoextend
#innodb_log_group_home_dir              = /opt/app/mysql/redolog/
innodb_log_file_size                   = 1G
innodb_log_files_in_group              = 2
innodb_log_buffer_size                 = 16M
innodb_rollback_segments               = 128     # defautl 128
#innodb_undo_directory                  = /opt/app/mysql/undolog/
#innodb_undo_tablespaces                = 4       # from 5.7.21 deprecated
innodb_open_files                      = 4000
innodb_thread_concurrency              = 32
innodb_flush_log_at_trx_commit         = 1
innodb_flush_log_at_timeout            = 1       # defautl 1, when innodb_flush_log_at_trx_commit = 0 or 2
innodb_purge_threads                   = 4
innodb_print_all_deadlocks             = ON
innodb_max_dirty_pages_pct             = 70
innodb_lock_wait_timeout               = 50
innodb_flush_method                    = O_DIRECT
innodb_old_blocks_time                 = 1000    # since 5.6.6 default 1000
innodb_io_capacity                     = 600     # default 200
innodb_io_capacity_max                 = 2000    # default 2000
innodb_lru_scan_depth                  = 1024    # default 1024
innodb_read_io_threads                 = 8
innodb_write_io_threads                = 8
innodb_buffer_pool_load_at_startup     = ON
innodb_buffer_pool_dump_at_shutdown    = ON
innodb_buffer_pool_filename            = ib_buffer_pool  # default ib_buffer_pool
innodb_sort_buffer_size                = 64M     # default 1M , 64K - 64M , for change index

innodb_buffer_pool_dump_pct            = 40
innodb_page_cleaners                   = 16
innodb_undo_log_truncate               = ON
innodb_max_undo_log_size               = 2G
innodb_purge_rseg_truncate_frequency   = 128

## Gtid
#gtid_mode                              = ON
#enforce_gtid_consistency               = ON
#binlog_gtid_simple_recovery            = 1

## Replication
server_id                              = 1030
log_bin                                = /opt/app/mysql/data/mysql_bin
expire_logs_days                       = 7
binlog_format                          = ROW
binlog_row_image                       = full # default full
#innodb_autoinc_lock_mode               = 2      # default 1
binlog_rows_query_log_events           = 1
max_binlog_size                        = 500M
binlog_cache_size                      = 1M
#read_only                              = ON
#super_read_only                        = ON
#relay_log_purge                        = 1
#slave_net_timeout                      = 60
#replicate_wild_do_table                = mysql.%
#replicate_wild_ignore_table            = test.%
#auto_increment_offset                  = 1
#auto_increment_increment               = 2
#plugin_dir                             = /opt/app/mysql/lib/plugin
#plugin_load                            = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
#rpl_semi_sync_master_enabled           = ON
#rpl_semi_sync_slave_enabled            = ON
#rpl_semi_sync_master_timeout           = 1000
slave_transaction_retries              = 128

## MTS
relay_log_recovery                     = 1
#slave_parallel_type                    = LOGICAL_CLOCK
#slave_parallel_workers                 = 16
#slave_preserve_commit_order            = 1

## Logging
log_output                             = FILE
slow_query_log                         = ON
slow_query_log_file                    = /opt/app/mysql/logs/slow_mysqld.log
log_queries_not_using_indexes          = OFF     # default OFF
log_throttle_queries_not_using_indexes = 10      # default 0
min_examined_row_limit                 = 100     # default 0
log_slow_admin_statements              = ON
log_slow_slave_statements              = ON
long_query_time                        = 1
#log-short-format                       = 0
log_error                              = /opt/app/mysql/logs/error_mysqld.log
#general_log                            = ON
#general_log_file                       = /opt/app/mysql/data/general_mysqld.log
log_timestamps                         = system

## Index
ft_min_word_len                        = 4

[mysqld_safe]
open_files_limit                       = 65535

[mysql]
no_auto_rehash
prompt                                 = "MySQL [\\d] > "

[mysqldump]
quick
max_allowed_packet                     = 32M

[myisamchk]
key_buffer_size                        = 64M
sort_buffer_size                       = 32M
read_buffer                            = 8M
write_buffer                           = 8M

[mysqlhotcopy]
interactive_timeout

[client]
socket                                 = /opt/app/mysql/data/mysql.sock

2.3,創(chuàng)建對(duì)應(yīng)的目錄文件

useradd mysql -s /sbin/nologin
mkdir /opt/app/mysql/redolog/ -p
mdkir /opt/app/mysql/tmp
mkdir /opt/app/mysql/logs/
mkdir /opt/app/mysql/data/
touch /opt/app/mysql/logs/error_mysqld.log
chown -R mysql:mysql /opt/app/mysql

2.4,mysqld文件內(nèi)容

[root@172.22.204.77-kafka01:support-files]$sed -i "s#basedir=/usr/local/mysql#basedir=/opt/app/mysql#g" mysql.server
[root@172.22.204.77-kafka01:support-files]$sed -i "s#bindir=/usr/local/mysql/bin#bindir=/opt/app/mysql/bin#g" mysql.server
[root@172.22.204.77-kafka01:support-files]$sed -i "s#datadir=/usr/local/mysql/data#datadir=/opt/app/mysql/data#g" mysql.server
[root@172.22.204.77-kafka01:support-files]$sed -i "s#sbindir=/usr/local/mysql/bin#sbindir=/opt/app/mysql/bin#g" mysql.server
[root@172.22.204.77-kafka01:support-files]$sed -i "s#libexecdir=/usr/local/mysql/bin#libexecdir=/opt/app/mysql/bin#g" mysql.server
用以下命令直接執(zhí)行:
cd /opt/app/mysql/support-files
cp mysql.server mysql.server_bak
sed -i "s#basedir=/usr/local/mysql#basedir=/opt/app/mysql#g" mysql.server
sed -i "s#bindir=/usr/local/mysql/bin#bindir=/opt/app/mysql/bin#g" mysql.server
sed -i "s#datadir=/usr/local/mysql/data#datadir=/opt/app/mysql/data#g" mysql.server
sed -i "s#sbindir=/usr/local/mysql/bin#sbindir=/opt/app/mysql/bin#g" mysql.server
sed -i "s#libexecdir=/usr/local/mysql/bin#libexecdir=/opt/app/mysql/bin#g" mysql.server
cp mysql.server /etc/init.d/mysqld

2.5,初始化

cd /opt/app/mysql;
./bin/mysqld --user=mysql --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data --initialize

2.6,配置環(huán)境變量

#####Mysql_home
export MYSQL_HOME=/opt/app/mysql
export PATH=$MYSQL_HOME/bin:$PATH

2.7,啟動(dòng)mysql

[root@172.22.204.77-kafka01:mysql]$/etc/init.d/mysqld start
Starting MySQL.. SUCCESS! 
[root@172.22.204.77-kafka01:mysql]$

2.8,重置密碼

在more logs/error_mysqld.log日志里面,查找到初始密碼
然后進(jìn)入mysql修改

set password=password("tomcat2020");

三、mysql安裝完畢

[root@172.22.204.77-kafka01:mysql]$mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.36-log MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)] > show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

MySQL [(none)] > 

四、密碼忘記修改

my.cnf文件修改

skip-grant-tables=1
進(jìn)入mysql修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'tomcat2020';
flush privileges;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('tomcat2020');
flush privileges;
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容