实战 2、安装 mysql 5.7.22__2018.6.13

一、 背景:

  • 1、服务器版本: CentOS Linux release 7.4.1708 (Core)
  • 2、数据库版本: 5.7.22
  • 3、目的:
    • 安装mysql5.7.22
    • 使用mysql3306 可以登录

二、安装

法1:docker安装

这里写图片描述

从2017年3月开始,docker版本变化:

项目 说明
版本格式 YY.MM
stable版本 每个季度发行
edge版本 每个月发行
CE社区版
EE企业版

步骤:

#删除系统自带的Docker及依赖
yum remove docker* container-selinux docker-engine
#添加必要的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新并安装 Docker-CE
yum makecache fast
yum install -y docker-ce
#开启Docker服务
systemctl start docker

法2: 实体机安装

步骤:

1、有网环境准备好安装包:
百度云盘地址:
链接:https://pan.baidu.com/s/1Yyq0tqp7ldWHSbHIsqNwaA 密码:x7tv
或直接wget下载:

wget  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

2、my3306.cnf配置文件内容

[client]
port            = 3306

[mysql]
auto-rehash
prompt="\\u@\\h [\\d]>"
#pager="less -i -n -S"
#tee=/opt/mysql/query.log

[mysqld]
####: for global
user                                =mysql                          #   mysql
basedir                             =/usr/local/mysql3306/              #   /usr/local/mysql/
datadir                             =/data/mysql/mysql3306/data     #   /usr/local/mysql/data
server_id                           =2453306                        #   0
port                                =3306                           #   3306
character_set_server                =utf8                           #   latin1
explicit_defaults_for_timestamp     =off                            #    off
log_timestamps                      =system                         #   utc
socket                              =/tmp/mysql3306.sock                #   /tmp/mysql.sock
read_only                           =0                              #   off
skip_name_resolve                   =1                              #   0
auto_increment_increment            =1                              #   1
auto_increment_offset               =1                              #   1
lower_case_table_names              =1                              #   0
secure_file_priv                    =                               #   null
open_files_limit                    =65536                          #   1024
max_connections                     =1000                           #   151
thread_cache_size                   =64                             #   9
table_open_cache                    =81920                          #   2000
table_definition_cache              =4096                           #   1400
table_open_cache_instances          =64                             #   16
max_prepared_stmt_count             =1048576                        #

####: for binlog
binlog_format                       =row                          # row
log_bin                             =/data/mysql/mysql3306/logs/binlog/mysql-bin      # off
binlog_rows_query_log_events        =on                             #   off
log_slave_updates                   =on                             #   off
expire_logs_days                    =7                              #   0
binlog_cache_size                   =65536                          #   65536(64k)
#binlog_checksum                     =none                           #  CRC32
sync_binlog                         =1                              #   1
slave-preserve-commit-order         =ON                             #

####: for error-log
log_error                           =/data/mysql/mysql3306/logs/errorlog/error.log    # /usr/local/mysql/data/localhost.localdomain.err

general_log                         =off                            #   off
general_log_file                    =general.log                    #   hostname.log

####: for slow query log
slow_query_log                      =on                             #    off
slow_query_log_file                 =slow.log                       #    hostname.log
#log_queries_not_using_indexes       =on                             #    off
long_query_time                     =1.000000                       #    10.000000

####: for gtid
#gtid_executed_compression_period    =1000                          #   1000
gtid_mode                           =on                            #    off
enforce_gtid_consistency            =on                            #    off


####: for replication
skip_slave_start                     =1                              #
#master_info_repository              =table                         #   file
#relay_log_info_repository           =table                         #   file
slave_parallel_type                  =logical_clock                 #    database | LOGICAL_CLOCK
slave_parallel_workers               =4                             #    0
#rpl_semi_sync_master_enabled        =1                             #    0
#rpl_semi_sync_slave_enabled         =1                             #    0
#rpl_semi_sync_master_timeout        =1000                          #    1000(1 second)
#plugin_load_add                     =semisync_master.so            #
#plugin_load_add                     =semisync_slave.so             #
binlog_group_commit_sync_delay       =100                           #    500(0.05%秒)、默认值0
binlog_group_commit_sync_no_delay_count = 10                       #    0


####: for innodb
default_storage_engine                          =innodb                     #   innodb
default_tmp_storage_engine                      =innodb                     #   innodb
innodb_data_file_path                           =ibdata1:100M:autoextend    #   ibdata1:12M:autoextend
innodb_temp_data_file_path                      =ibtmp1:12M:autoextend      #   ibtmp1:12M:autoextend
innodb_buffer_pool_filename                     =ib_buffer_pool             #   ib_buffer_pool
innodb_log_group_home_dir                       =./                         #   ./
innodb_log_files_in_group                       =3                          #   2
innodb_log_file_size                            =100M                       #   50331648(48M)
innodb_file_per_table                           =on                         #   on
innodb_online_alter_log_max_size                =128M                       #   134217728(128M)
innodb_open_files                               =65535                      #   2000
innodb_page_size                                =16k                        #   16384(16k)
innodb_thread_concurrency                       =0                          #   0
innodb_read_io_threads                          =4                          #   4
innodb_write_io_threads                         =4                          #   4
innodb_purge_threads                            =4                          #   4(垃圾回收)
innodb_page_cleaners                            =4                          #   4(刷新lru脏页)
innodb_print_all_deadlocks                      =on                         #   off
innodb_deadlock_detect                          =on                         #   on
innodb_lock_wait_timeout                        =20                         #   50
innodb_spin_wait_delay                          =128                          # 6
innodb_autoinc_lock_mode                        =2                          #   1
innodb_io_capacity                              =200                        #   200
innodb_io_capacity_max                          =2000                       #   2000
#--------Persistent Optimizer Statistics
innodb_stats_auto_recalc                        =on                         #   on
innodb_stats_persistent                         =on                         #   on
innodb_stats_persistent_sample_pages            =20                         #   20

innodb_adaptive_hash_index                      =on                         #   on
innodb_change_buffering                         =all                        #   all
innodb_change_buffer_max_size                   =25                         #   25
innodb_flush_neighbors                          =1                          #   1
#innodb_flush_method                             =                           #
innodb_doublewrite                              =on                         #   on
innodb_log_buffer_size                          =128M                        #  16777216(16M)
innodb_flush_log_at_timeout                     =1                          #   1
innodb_flush_log_at_trx_commit                  =1                          #   1
innodb_buffer_pool_size                         =100M                  #    134217728(128M)
innodb_buffer_pool_instances                    =4
autocommit                                      =1                          #   1
#--------innodb scan resistant
innodb_old_blocks_pct                           =37                         #    37
innodb_old_blocks_time                          =1000                       #    1000
#--------innodb read ahead
innodb_read_ahead_threshold                     =56                         #    56 (0..64)
innodb_random_read_ahead                        =OFF                        #    OFF
#--------innodb buffer pool state
innodb_buffer_pool_dump_pct                     =25                         #    25
innodb_buffer_pool_dump_at_shutdown             =ON                         #    ON
innodb_buffer_pool_load_at_startup              =ON                         #    ON




####  for performance_schema
performance_schema                                                      =off   #    on
performance_schema_consumer_global_instrumentation                      =on    #    on
performance_schema_consumer_thread_instrumentation                      =on    #    on
performance_schema_consumer_events_stages_current                       =on    #    off
performance_schema_consumer_events_stages_history                       =on    #    off
performance_schema_consumer_events_stages_history_long                  =off   #    off
performance_schema_consumer_statements_digest                           =on    #    on
performance_schema_consumer_events_statements_current                   =on    #    on
performance_schema_consumer_events_statements_history                   =on    #    on
performance_schema_consumer_events_statements_history_long              =on    #    off
performance_schema_consumer_events_waits_current                        =on    #    off
performance_schema_consumer_events_waits_history                        =on    #    off
performance_schema_consumer_events_waits_history_long                   =off   #    off
performance-schema-instrument                                           ='memory/%=COUNTED'

3、shell脚本


#!/bin/bash
#上传到软件包到/usr/local/src/,上传my3306.cnf到/etc/my3306.cnf
/usr/bin/cd /usr/local/
/usr/sbin/groupadd mysql
/usr/sbin/useradd -r -g mysql -s /sbin/nologin mysql
/bin/mkdir -p /data/mysql/mysql3306/{data,logs/{binlog,errorlog,slowlog,relaylog,generallog},tmp}
/bin/touch  /data/mysql/mysql3306/logs/errorlog/error.log
/bin/touch  /data/mysql/mysql3306/logs/slowlog/slow.log
/bin/tar zxf /usr/local/src/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  -C /usr/local/src/
cd /usr/local/
/bin/ln -s /usr/local/src/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql3306
/bin/chown -R mysql:mysql /usr/local/mysql3306/
/bin/chown -R mysql:mysql /data/mysql
#直接初始化一个不带密码的数据库,然后手动设置为root
/usr/local/mysql3306/bin/mysqld --defaults-file=/etc/my3306.cnf --initialize-insecure
/usr/local/mysql3306/bin/mysqld --defaults-file=/etc/my3306.cnf &
#添加mysql环境变量、别名
echo  export PATH=$PATH:/usr/local/mysql3306/bin >>/etc/profile
source /etc/profile
echo "alias mysqld3306=\"/usr/local/mysql3306/bin/mysqld --defaults-file=/etc/my3306.cnf\"" >>/etc/profile.d/mysql.sh
echo "alias mysql3306=\"/usr/local/mysql3306/bin/mysql -S /tmp/mysql3306.sock\"" >>/etc/profile.d/mysql.sh
chmod +x /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
#初始化一个任意密码的数据库
#grep password /data/mysql/mysql3306/logs/errorlog/error.log | awk '{print $NF}'|head -1>/root/password.txt
#/usr/local/mysql3306/bin/mysqld --defaults-file=/etc/my3306.cnf &
#/usr/local/mysql3306/bin/mysql -p -S /tmp/mysql3306.sock  -e "set password=password('root')"

四、测试

[root@mongo1 ~]# mysql3306
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22-log MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> \q

登录成功!

猜你喜欢

转载自blog.csdn.net/ha_123_qq/article/details/80795807
今日推荐