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;
  • 相关阅读:
    转 哪个家伙说“网站去.Net化”?
    javascript prototype
    Spring作用,MVC容器作用
    javascript 闭包
    导入Excel数据至Access 宁静以致远
    My first mobile message 宁静以致远
    MyEclipse遇到的错误
    JAVAEE错误处理
    JavaEE ActionForm的高级应用
    hibernate
  • 原文地址:https://www.cnblogs.com/ziroro/p/9792472.html
Copyright © 2011-2022 走看看