(超詳細)centos 7.2オフラインインストールmysql 5.7.18.tar.gz

7522 ワード

ネットワーク分離のためyum方式でmysqlをインストールできません.ここではlinuxサーバにmysqlを手動でオフラインでインストールする方法について説明します.
目的
オフラインインストールmysqlサービスサーバ:centos 7.2、ローカルyumソースmysqlバージョンを構成する:mysql 5.7.18
ステップ
  • はインストールパッケージmysql-5.7.18-linux-glibc2.5-x86_64.tar.gzをダウンロードし、インストールパッケージは宛先サーバ/tmpディレクトリ
  • に転送する.
  • my.cnfファイル(文末参照)は、宛先サーバの/tmpディレクトリ
  • に転送される.
  • ユーザーおよび対応するフォルダの作成:
  • # prepare
    groupadd mysql
    useradd -r -g mysql -s /bin/false mysql
    yum install -y autoconf
    mkdir /apps
    mkdir /logs
    mkdir /data
    mkdir -p /data/mysql7006/data && chown -R mysql:mysql /data/mysql7006
    mkdir /logs/mysql7006 && chown -R mysql:mysql /logs/mysql7006
    touch /logs/mysql7006/error-log.err && chown -R mysql:mysql /logs/mysql7006/error-log.err
    
  • 取付
  • cd /tmp
    tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
    mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql
    mv mysql /apps/mysql
    cp my.cnf /apps/mysql/
    
    chown -R mysql:mysql /apps/mysql/
    #       ,
    cd /apps/mysql
    ./bin/mysqld --initialize --user=mysql --basedir=/apps/mysql/ --datadir=/data/mysql7006/data/
    

    初期化中に が生成されます.覚えておいてください.後続の修正用です.
  • 登録サービス(しなくてもよい)
  • #       support-files/mysql.server
    cp support-files/mysql.server /etc/init.d/mysql
    systemctl start mysql.service
    
    #       
    chkconfig mysql.server on
    
  • データベース/apps/mysql/bin/mysqld_safe --defaults-file=/apps/mysql/my.cnf &
  • を起動
  • デフォルトパスワードの変更:
  • /apps/mysql/bin/mysqladmin -u root password 'password' --port=7006 --socket=/data/mysql7006/mysql.sock -p
    #      linux history  
    history -c
    
    #     :
    /apps/mysql/bin/mysql -u root --port=7006 --socket=/data/mysql7006/mysql.sock -p
    
  • ファイアウォール、権限付与(必要に応じて)
  • #    
    firewall-cmd --zone=public --add-port=7006/tcp --permanent
    systemctl restart firewalld
    firewall-cmd --zone=public --query-port=7006/tcp
    #        
    use mysql;
    grant all privileges  on *.* to user@'ip' identified by "password";
    flush privileges;
    select host,user,password from user;
    
    
  • ローカル非表示パスワード登録(しなくてもよい)
  • ##   mysql_config_editor       
    /apps/mysql/bin/mysql_config_editor set --login-path=root_pass --user=root --port=7006 --socket=/data/mysql7006/mysql.sock --password
    ##     :******
    ##               .mylogin.cnf
    /apps/mysql/bin/mysql_config_editor print --all
    ##         :
    /apps/mysql/bin/mysql --login-path=root_pass
    
    #      :set alias
    #   file .bashrc,  
    alias db7006='/apps/mysql/bin/mysql --login-path=root_pass'
    #       :
    source .bashrc
    ##         :
    db7006
    

    ふろく
    my.cnfファイル
    主な機能:グローバルutf 8文字セット、カスタムポート、データフォルダ、ログフォルダ、デフォルトエンジンinnodb(トランザクションをサポートし、xtrabackupに友好的)、クライアントログイン時のdns解析をスキップする
    [client]
    port=7006
    default-character-set=utf8
    
    [mysqld]
    skip-name-resolve
    secure_file_priv="/"
    character-set-server=utf8
    user=mysql
    server_id=20180917
    port=7006
    socket=/data/mysql7006/mysql.sock
    pid-file=/data/mysql7006/mysql.pid
    basedir=/apps/mysql
    datadir=/data/mysql7006/data
    log-error=/logs/mysql7006/error-log
    log-bin=/logs/mysql7006/bin-log
    
    max_allowed_packet             = 64M
    default_storage_engine         = InnoDB
    innodb_strict_mode             = 1
    innodb_buffer_pool_size        = 5G
    innodb_stats_on_metadata       = 0
    innodb_file_format             = Barracuda
    innodb_flush_method            = O_DIRECT
    innodb_log_files_in_group      = 2
    innodb_log_file_size           = 4G
    innodb_log_buffer_size         = 128M
    innodb_file_per_table          = 1
    innodb_max_dirty_pages_pct     = 60
    innodb_io_capacity             = 4000
    lower_case_table_names         = 1
    
    #ADD INNODB
    innodb_buffer_pool_instances   = 16
    innodb_flush_log_at_trx_commit = 1
    innodb_adaptive_flushing       = 1
    innodb_thread_concurrency      = 0
    innodb_stats_persistent        = 1
    innodb_purge_threads           = 4
    innodb_use_native_aio          = 1
    
    ##innodb_use_sys_malloc        = 1
    innodb_autoinc_lock_mode       = 2
    innodb_change_buffering        = inserts
    innodb_read_io_threads         = 16
    innodb_write_io_threads        = 16
    expire_logs_days               = 30
    
    # CACHES AND LIMITS #
    key_buffer_size                = 32M
    tmp_table_size                 = 256M
    max_heap_table_size            = 256M
    
    table_open_cache               = 4096
    query_cache_type               = 0
    query_cache_size               = 0
    max_connections                = 2000
    thread_cache_size              = 1024
    open_files_limit               = 65535
    
    #ADD OTHERS
    metadata_locks_hash_instances  = 256
    table_open_cache_instances     = 16
    back_log                       = 1500
    
    wait_timeout                   = 3600
    interactive_timeout            = 3600
    master_info_repository=TABLE
    relay_log_info_repository=TABLE
    log_slave_updates=ON
    binlog_checksum=NONE
    binlog_format=ROW
    transaction_isolation=READ-COMMITTED
    sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'