zoukankan      html  css  js  c++  java
  • CentOS 6下安装MySQL5.6

    1. 下载MySQL软件

    https://dev.mysql.com/downloads/mysql/5.6.html#downloads

     

    2. 解压缩

    cd /usr/local
    
    tar xzvf /tmp/mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz /usr/local
    
    mv mysql-5.6.31-linux-glibc2.5-x86_64 mysql
    
    chown -R mysql:mysql /usr/local/mysql/

     

    3. 创建MySQL用户

    useradd  mysql 
    
    id mysql
    uid=500(mysql) gid=500(mysql) groups=500(mysql)

     

    4. 创建数据目录

    数据存放目录:/data/mysql/mysql_3306/{data, logs,tmp}

    mkdir –p /data/mysql/mysql_3306/{data,logs,tmp}
    
    chown -R mysql:mysql /data/mysql/

     

    5. 添加环境变量

    echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
    
    source /etc/profile

     

    6. 编辑 my.cnf

    [client]
    user                            = root
    password                        = 'Abc_1234'
    port                            = 3306
    socket                          = /data/mysql/mysql_3306/tmp/mysql.sock
    
    [mysql]
    
    # CLIENT #
    port                            = 3306
    socket                          = /data/mysql/mysql_3306/tmp/mysql.sock
    default_character_set           = utf8
    prompt="u@h:p  R:m:s [d]>"
                                    
    [mysqld]                        
                                    
    # GENERAL #                     
    user                            = mysql
    default_storage_engine          = InnoDB
    character_set_server            = utf8mb4
    socket                          = /data/mysql/mysql_3306/tmp/mysql.sock
    pid_file                        = /data/mysql/mysql_3306/logs/mysqld.pid
    server_id                       = 1001
    explicit_defaults_for_timestamp = 1
    back_log                        = 500
                                    
    # MyISAM #                      
    key_buffer_size                 = 32M
    myisam_recover_options          = FORCE,BACKUP
                                    
    # SAFETY #                      
    max_allowed_packet              = 32M
    max_connect_errors              = 100000
    sql_mode                        = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    innodb                          = FORCE
    
    # TIMEOUT #
    interactive_timeout             = 600
    wait_timeout                    = 600
    
    # DATA STORAGE #
    datadir                         = /data/mysql/mysql_3306/data
    
    # BINARY LOG #
    log_bin                         = /data/mysql/mysql_3306/logs/mysql_bin
    expire_logs_days                = 15
    sync_binlog                     = 1
    binlog_format                   = ROW
    log_bin_trust_function_creators = 1
    binlog_rows_query_log_events    = 1
    binlog_cache_size               = 4M
    max_binlog_size                 = 1G
    
    # RELAY LOG #
    relay_log                      = /data/mysql/mysql_3306/logs/relay_bin
    max_relay_log_size             = 1G
    relay_log_info_repository      = TABLE
    master_info_repository         = TABLE
    relay_log_recovery             = 1
    
    
    # REPLICATI #
    gtid_mode                      = 1
    enforce_gtid_consistency       = 1
    binlog_gtid_simple_recovery    = 1
    log_slave_updates              = 1
    sync_relay_log                 = 10000
    sync_relay_log_info            = 10000
    sync_master_info               = 1
    #slave_skip_errors             = ddl_exist_errors
    
    # SLAVE #
    #read_only                     = 1
    slave_net_timeout              = 60
    #skip_slave_start              = 1
    slave_pending_jobs_size_max    = 64M
    
    # CACHES AND LIMITS #
    tmp_table_size                 = 64M
    max_heap_table_size            = 32M
    sort_buffer_size               = 2M
    join_buffer_size               = 2M
    read_buffer_size               = 4M
    read_rnd_buffer_size           = 4M
    bulk_insert_buffer_size        = 32M
    query_cache_type               = 0
    query_cache_size               = 0
    max_connections                = 500
    thread_cache_size              = 50
    open_files_limit               = 65535
    table_definition_cache         = 4096
    table_open_cache               = 4096
    
    # INNODB #
    innodb_flush_method            = O_DIRECT
    innodb_log_files_in_group      = 4
    innodb_log_file_size           = 512M
    innodb_flush_log_at_trx_commit = 1
    innodb_file_per_table          = 1
    innodb_log_buffer_size         = 16M
    innodb_buffer_pool_size        = 8G
    innodb_data_file_path          = ibdata1:1G:autoextend
    innodb_io_capacity             = 4000
    innodb_io_capacity_max         = 8000
    innodb_lru_scan_depth          = 2000
    innodb_lock_wait_timeout       = 50
    innodb_undo_logs               = 128
    innodb_undo_tablespaces        = 3
    innodb_purge_threads           = 4
    innodb_print_all_deadlocks     = 1
    innodb_strict_mode             = 1
    innodb_sort_buffer_size        = 64M 
    innodb_flush_neighbors         = 1 # 固态硬盘可以设置为0
    innodb_buffer_pool_load_at_startup  = 1
    innodb_buffer_pool_dump_at_shutdown = 1
             
    
    # LOGGING #
    log_error                      = /data/mysql/mysql_3306/logs/mysql_error.log
    log_error_verbosity            = 1
    slow_query_log                 = 1
    slow_query_log_file            = /data/mysql/mysql_3306/logs/mysql_slow.log
    max_slowlog_size               = 1G
    log_queries_not_using_indexes  = 0
    log_warnings                   = 2
    long_query_time                = 1
    log_slow_admin_statements      = 1
    log_slow_slave_statements      = 1
    min_examined_row_limit         = 100000

     mysql加载my.cnf的顺序

    使用mysql --verbose --help | grep my.cnf命令可以查看mysql加载配置文件都顺序

    /etc/my.cnf --> /etc/mysql/my.cnf --> /usr/local/mysql/etc/my.cnf --> /usr/local/mysql/etc/my.cnf --> ~/.my.cnf

    最后面的变量覆盖前面都变量

    mysql --print-defaults
    查看mysql当前的配置参数

    mysqld --defaults-file=/etc/my.cnf
    指定读取哪个配置文件

    7. 初始化数据库

    cd /usr/local/mysql/
    
    ./scripts/mysql_install_db --defaults-file=/etc/my.cnf
    Installing MySQL system tables...2016-06-04 15:19:37 0 [Note] ./bin/mysqld (mysqld 5.6.31-log) starting as process 3305 ...
    OK
    
    Filling help tables...2016-06-04 15:19:43 0 [Note] ./bin/mysqld (mysqld 5.6.31-log) starting as process 3328 ...
    OK
    …………

    看到两个OK,证明mysql安装成功。再查看/data/mysql/msyql_3306/data/error.log,确认没有报错。

    MySQL5.7 使用 mysqld 初始化数据库,mysqld --defaults-file=/etc/my.cnf

     

    8. 启动MySQL

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    service mysqld start
    Starting MySQL.. [ OK ]

    看到OK,证明mysql启动成功。

    查看MySQL进程是否存在及监听端口

    ps axu|grep mysql
    
    root 3382 0.0 0.1 11468 1380 pts/1 S 15:24 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql/mysql_3306/data --pid-file=/data/mysql/mysql_3306/data/mysql.pid
    mysql 4320 0.4 55.9 1160676 570620 pts/1 Sl 15:24 0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql_3306/data/error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql_3306/data/mysql.pid --socket=/data/mysql/mysql_3306/tmp/mysql.sock --port=3306
    root 4371 0.0 0.0 103252 840 pts/1 S+ 15:28 0:00 grep mysql
    
    netstat -nalp|grep "3306"
    tcp 0 0 :::3306 :::* LISTEN 4320/mysqld 
    unix 2 [ ACC ] STREAM LISTENING 33638 4320/mysqld /data/mysql/mysql_3306/tmp/mysql.sock
    
    lsof -n -i:3306
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    mysqld 4320 mysql 14u IPv6 33637 0t0 TCP *:mysql (LISTEN)

    service mysqld start --> mysqld_safe --> mysqld

    service mysqld start 调用 mysqld_safe, mysqld_safe再调用mysqld

    9. 删除无用账号

    delete from mysql.user where user!='root' or host!='localhost';
    select user,host,password from mysql.user;
    +------+-----------+----------+
    | user | host | password |
    +------+-----------+----------+
    | root | localhost | |
    truncate table mysql.db;
  • 相关阅读:
    [kuangbin带你飞]专题十二 基础DP1 E
    hdu 1203 I NEED A OFFER! (01背包)
    hdu 2602 Bone Collector (01背包)
    hdu 4513 吉哥系列故事——完美队形II (manacher)
    hdu 2203 亲和串 (KMP)
    hdu 1686 Oulipo (KMP)
    hdu 1251 统计难题 (字典树)
    hdu 2846 Repository (字典树)
    hdu 1711 Number Sequence (KMP)
    poj 3461 Oulipo(KMP)
  • 原文地址:https://www.cnblogs.com/ziroro/p/9792472.html
Copyright © 2011-2022 走看看