mysql已经消失并调整了mysql数据库

时间:2017-12-10 18:00:46

标签: php mysql performance ram

我有一个mysql数据库,每天崩溃大约1次,错误 mysql服务器已经消失。超时是28800秒,我将max_allowed_pa​​cket设置为1024M,但我仍然有问题。

我在另一个答案中读到,然后我应该检查内存,所以我运行mysqltuner,我得到了这些报告。我遵循了一些建议,但我很困惑...我将innodb缓冲区r日志大小设置为1.1 GB,但报告说我有危险的ram使用...任何帮助?

感谢

 >>  MySQLTuner 1.7.4 - Major Hayden <major@mhtx.net>
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
 >>  Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.6.38
[OK] Operating on 64-bit architecture

-------- Log file Recommendations ------------------------------------------------------------------
[--] Log file: /var/lib/mysql/mysql-error.log(8M)
[OK] Log file /var/lib/mysql/mysql-error.log exists
[OK] Log file /var/lib/mysql/mysql-error.log is readable.
[OK] Log file /var/lib/mysql/mysql-error.log is not empty
[OK] Log file /var/lib/mysql/mysql-error.log is smaller than 32 Mb
[!!] /var/lib/mysql/mysql-error.log contains 18740 warning(s).
[!!] /var/lib/mysql/mysql-error.log contains 2505 error(s).
[--] 83 start(s) detected in /var/lib/mysql/mysql-error.log
[--] 1) 2017-12-10 17:13:50 31080 [Note] /usr/sbin/mysqld: ready for connections.
[--] 2) 2017-12-10 17:06:23 27549 [Note] /usr/sbin/mysqld: ready for connections.
[--] 3) 2017-12-10 17:03:47 24587 [Note] /usr/sbin/mysqld: ready for connections.
[--] 4) 2017-12-10 16:40:28 15588 [Note] /usr/sbin/mysqld: ready for connections.
[--] 5) 2017-12-10 15:28:48 3726 [Note] /usr/sbin/mysqld: ready for connections.
[--] 6) 2017-12-10 15:28:43 3123 [Note] /usr/sbin/mysqld: ready for connections.
[--] 7) 2017-12-10 15:03:51 31716 [Note] /usr/sbin/mysqld: ready for connections.
[--] 8) 2017-12-10 14:09:35 22358 [Note] /usr/sbin/mysqld: ready for connections.
[--] 9) 2017-12-10 12:16:42 4590 [Note] /usr/sbin/mysqld: ready for connections.
[--] 10) 2017-12-10 10:52:36 23424 [Note] /usr/sbin/mysqld: ready for connections.
[--] 34 shutdown(s) detected in /var/lib/mysql/mysql-error.log
[--] 1) 2017-12-10 17:13:45 27549 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 2) 2017-12-10 17:06:20 24587 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 3) 2017-12-10 17:03:43 15588 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 4) 2017-12-10 16:40:26 3726 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 5) 2017-12-10 15:28:45 3123 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 6) 2017-12-10 10:52:33 12404 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 7) 2017-12-10 10:09:13 28482 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 8) 2017-12-06 13:56:15 13476 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 9) 2017-12-06 13:55:13 11594 [Note] /usr/sbin/mysqld: Shutdown complete
[--] 10) 2017-12-06 13:52:50 8372 [Note] /usr/sbin/mysqld: Shutdown complete

-------- Storage Engine Statistics -----------------------------------------------------------------
[--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MEMORY +MRG_MYISAM +MyISAM +PERFORMANCE_SCHEMA
[--] Data in MyISAM tables: 674M (Tables: 184)
[--] Data in InnoDB tables: 1G (Tables: 281)
[--] Data in MEMORY tables: 0B (Tables: 1)
[OK] Total fragmented tables: 0

-------- Security Recommendations ------------------------------------------------------------------
[OK] There are no anonymous accounts for any database users
[OK] All database users have passwords assigned
[--] There are 612 basic passwords in the list.

-------- CVE Security Recommendations --------------------------------------------------------------
[OK] NO SECURITY CVE FOUND FOR YOUR VERSION

-------- Performance Metrics -----------------------------------------------------------------------
[--] Up for: 6s (474 q [79.000 qps], 17 conn, TX: 603K, RX: 48K)
[--] Reads / Writes: 99% / 1%
[--] Binary logging is disabled
[--] Physical Memory     : 1.8G
[--] Max MySQL memory    : 1.6G
[--] Other process memory: 392.4M
[--] Total buffers: 1.2G global + 1.1M per thread (50 max threads)
[--] P_S Max memory usage: 438M
[--] Galera GCache Max memory usage: 0B
[!!] Maximum reached memory usage: 1.6G (88.24% of installed RAM)
[!!] Maximum possible memory usage: 1.6G (91.06% of installed RAM)
[!!] Overall possible memory usage with other process exceeded memory
[OK] Slow queries: 0% (0/474)
[OK] Highest usage of available connections: 8% (4/50)
[OK] Aborted connections: 0.00%  (0/17)
[!!] name resolution is active : a reverse name resolution is made for each new connection and can reduce performance
[OK] Query cache is disabled by default due to mutex contention on multiprocessor machines.
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 77 sorts)
[OK] No joins without indexes
[!!] Temporary tables created on disk: 92% (72 on disk / 78 total)
[OK] Thread cache hit rate: 76% (4 created / 17 connections)
[OK] Table cache hit rate: 92% (84 open / 91 opened)
[OK] Open file limit used: 0% (20/10K)
[OK] Table locks acquired immediately: 100% (391 immediate / 391 locks)

-------- Performance schema ------------------------------------------------------------------------
[--] Memory used by P_S: 438.5M
[--] Sys schema isn't installed.

-------- ThreadPool Metrics ------------------------------------------------------------------------
[--] ThreadPool stat is disabled.

-------- MyISAM Metrics ----------------------------------------------------------------------------
[!!] Key buffer used: 18.2% (6M used / 33M cache)
[!!] Key buffer size / total MyISAM indexes: 32.0M/103.3M
[!!] Read Key buffer hit rate: 50.0% (6 cached / 3 reads)

-------- InnoDB Metrics ----------------------------------------------------------------------------
[--] InnoDB is enabled.
[--] InnoDB Thread Concurrency: 0
[OK] InnoDB File per table is activated
[!!] InnoDB buffer pool / data size: 1.1G/1.4G
[OK] Ratio InnoDB log file size / InnoDB Buffer pool size: 137.0M * 2/1.1G should be equal 25%
[!!] InnoDB buffer pool instances: 8
[--] InnoDB Buffer Pool Chunk Size not used or defined in your version
[OK] InnoDB Read buffer efficiency: 96.97% (54277 hits/ 55974 total)
[!!] InnoDB Write Log efficiency: 0% (6 hits/ 0 total)
[OK] InnoDB log waits: 0.00% (0 waits / 6 writes)

-------- AriaDB Metrics ----------------------------------------------------------------------------
[--] AriaDB is disabled.

-------- TokuDB Metrics ----------------------------------------------------------------------------
[--] TokuDB is disabled.

-------- XtraDB Metrics ----------------------------------------------------------------------------
[--] XtraDB is disabled.

-------- RocksDB Metrics ---------------------------------------------------------------------------
[--] RocksDB is disabled.

-------- Spider Metrics ----------------------------------------------------------------------------
[--] Spider is disabled.

-------- Connect Metrics ---------------------------------------------------------------------------
[--] Connect is disabled.

-------- Galera Metrics ----------------------------------------------------------------------------
[--] Galera is disabled.

-------- Replication Metrics -----------------------------------------------------------------------
[--] Galera Synchronous replication: NO
[--] No replication slave(s) for this server.
[--] This is a standalone server.

-------- Recommendations ---------------------------------------------------------------------------
General recommendations:
    Control warning line(s) into /var/lib/mysql/mysql-error.log file
    Control error line(s) into /var/lib/mysql/mysql-error.log file
    MySQL started within last 24 hours - recommendations may be inaccurate
    Reduce your overall MySQL memory footprint for system stability
    Dedicate this server to your database for highest performance.
    Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
    When making adjustments, make tmp_table_size/max_heap_table_size equal
    Reduce your SELECT DISTINCT queries which have no LIMIT clause
    Consider installing Sys schema from https://github.com/mysql/mysql-sys
Variables to adjust:
  *** MySQL's maximum memory usage is dangerously high ***
  *** Add RAM before increasing MySQL buffer variables ***
    tmp_table_size (> 32M)
    max_heap_table_size (> 32M)
    key_buffer_size (> 103.3M)
    innodb_buffer_pool_size (>= 1G) if possible.
    innodb_buffer_pool_instances(=1)

这是一个数据库摘要:

# Percona Toolkit MySQL Summary Report #######################
              System time | 2017-12-10 17:53:01 UTC (local TZ: UTC +0000)
# Instances ##################################################
  Port  Data Directory             Nice OOM Socket
  ===== ========================== ==== === ======
        /var/lib/mysql             0    0   /var/lib/mysql/mysql.sock
# MySQL Executable ###########################################
       Path to executable | /usr/sbin/mysqld
              Has symbols | Yes
# Slave Hosts ################################################
No slaves found
# Report On Port 3306 ########################################
                     User | root@localhost
                     Time | 2017-12-10 17:53:01 (UTC)
                 Hostname | sun-server
                  Version | 5.6.38 MySQL Community Server (GPL)
                 Built On | Linux x86_64
                  Started | 2017-12-10 17:13 (up 0+00:39:12)
                Databases | 11
                  Datadir | /var/lib/mysql/
                Processes | 2 connected, 2 running
              Replication | Is not a slave, has 0 slaves connected
                  Pidfile | /var/lib/mysql/mysql.pid (exists)
# Processlist ################################################

  Command                        COUNT(*) Working SUM(Time) MAX(Time)
  ------------------------------ -------- ------- --------- ---------
  Query                                 1       1         0         0
  Sleep                                 3       0         1         1

  User                           COUNT(*) Working SUM(Time) MAX(Time)
  ------------------------------ -------- ------- --------- ---------
  xxx                                   3       0         0         0
  root                                  1       1         0         0

  Host                           COUNT(*) Working SUM(Time) MAX(Time)
  ------------------------------ -------- ------- --------- ---------
  localhost                             4       1         0         0

  db                             COUNT(*) Working SUM(Time) MAX(Time)
  ------------------------------ -------- ------- --------- ---------
  xxx                                   3       0         0         0
  NULL                                  1       1         0         0

  State                          COUNT(*) Working SUM(Time) MAX(Time)
  ------------------------------ -------- ------- --------- ---------
                                        3       0         0         0
  init                                  1       1         0         0

# Status Counters (Wait 10 Seconds) ##########################
Variable                                Per day  Per second     11 secs
Aborted_clients                              35
Bytes_received                       1000000000       12500       15000
Bytes_sent                          25000000000      300000      900000
Com_admin_commands                          250
Com_begin                                 50000
Com_change_db                             15000
Com_commit                                60000                       1
Com_delete                                 8000
Com_insert                                50000                       1
Com_replace                                1250
Com_select                              7000000          80         100
Com_set_option                           350000           4           5
Com_show_databases                           80
Com_show_engine_status                      150
Com_show_fields                         1000000          10          20
Com_show_processlist                        300
Com_show_slave_hosts                         40
Com_show_slave_status                        40
Com_show_status                           25000
Com_show_storage_engines                     40
Com_show_table_status                       400
Com_show_tables                             350
Com_show_variables                          150
Com_stmt_close                             3000
Com_stmt_execute                           3000
Com_stmt_prepare                           3000
Com_update                               175000           1           1
Connections                              200000           2           3
Created_tmp_disk_tables                 1000000          10          20
Created_tmp_files                          4500
Created_tmp_tables                      1000000          10          25
Flush_commands                               40
Handler_commit                          6000000          70         100
Handler_delete                             8000
Handler_external_lock                  15000000         175         225
Handler_read_first                       400000           4           5
Handler_read_key                      175000000        2000         800
Handler_read_last                          6000
Handler_read_next                    1000000000       12500        8000
Handler_read_prev                      22500000         250        4500
Handler_read_rnd                       15000000         175          50
Handler_read_rnd_next                2000000000       22500       17500
Handler_rollback                             40
Handler_update                          1000000          10           3
Handler_write                          22500000         250         450
Innodb_buffer_pool_bytes_data       20000000000      225000        7000
Innodb_buffer_pool_bytes_dirty         70000000         800      -86835
Innodb_buffer_pool_pages_flushed         600000           6          15
Innodb_buffer_pool_read_ahead            150000           1
Innodb_buffer_pool_read_requests     2000000000       22500       10000
Innodb_buffer_pool_reads                1000000          10
Innodb_buffer_pool_write_requests       1500000          15          15
Innodb_data_fsyncs                       400000           4           6
Innodb_data_read                    20000000000      225000        7000
Innodb_data_reads                       1250000          15
Innodb_data_writes                       900000          10          15
Innodb_data_written                 17500000000      225000      450000
Innodb_dblwr_pages_written               600000           6          15
Innodb_dblwr_writes                      100000           1           1
Innodb_log_write_requests                200000           2           1
Innodb_log_writes                        200000           2           1
Innodb_os_log_fsyncs                      70000
Innodb_os_log_written                 175000000        2250        1750
Innodb_pages_created                       3500
Innodb_pages_read                       1250000          15
Innodb_pages_written                     600000           6          15
Innodb_rows_deleted                        7000
Innodb_rows_inserted                      50000                       1
Innodb_rows_read                     3000000000       35000       30000
Innodb_rows_updated                      200000           2           1
Innodb_num_open_files                     10000
Innodb_available_undo_logs                 5000
Key_read_requests                      15000000         175           1
Key_reads                                 70000
Key_write_requests                        15000
Key_writes                                10000
Open_table_definitions                    20000
Opened_files                            4000000          50          90
Opened_table_definitions                  20000
Opened_tables                             22500
Queries                                 9000000         100         150
Questions                               9000000         100         150
Select_full_join                           5000
Select_full_range_join                       40
Select_range                              80000
Select_scan                             1500000          15          25
Slow_queries                                 80
Sort_merge_passes                          2250
Sort_range                              1250000          15          20
Sort_rows                              12500000         150          50
Sort_scan                                125000           1           1
Table_locks_immediate                   7000000          80         100
Table_locks_waited                           40
Table_open_cache_hits                   8000000         100         125
Table_open_cache_misses                   22500
Threads_created                             800
Uptime                                    90000           1           1
# Table cache ################################################
                     Size | 4096
                    Usage | 15%
# Key Percona Server features ################################
      Table & Index Stats | Not Supported
     Multiple I/O Threads | Enabled
     Corruption Resilient | Not Supported
      Durable Replication | Not Supported
     Import InnoDB Tables | Not Supported
     Fast Server Restarts | Not Supported
         Enhanced Logging | Not Supported
     Replica Perf Logging | Disabled
      Response Time Hist. | Not Supported
          Smooth Flushing | Not Supported
      HandlerSocket NoSQL | Not Supported
           Fast Hash UDFs | Unknown
# Percona XtraDB Cluster #####################################
# Plugins ####################################################
       InnoDB compression | ACTIVE
# Query cache ################################################
         query_cache_type | OFF
                     Size | 0.0
                    Usage | 0%
         HitToInsertRatio | 0%
# Schema #####################################################
Specify --databases or --all-databases to dump and summarize schemas
# Noteworthy Technologies ####################################
                      SSL | No
     Explicit LOCK TABLES | No
           Delayed Insert | No
          XA Transactions | No
              NDB Cluster | No
      Prepared Statements | Yes
 Prepared statement count | 0
# InnoDB #####################################################
                  Version | 5.6.38
         Buffer Pool Size | 1.1G
         Buffer Pool Fill | 45%
        Buffer Pool Dirty | 0%
           File Per Table | ON
                Page Size | 16k
            Log File Size | 2 * 137.0M = 274.0M
          Log Buffer Size | 8M
             Flush Method | O_DIRECT
      Flush Log At Commit | 2
               XA Support | ON
                Checksums | ON
              Doublewrite | ON
          R/W I/O Threads | 4 4
             I/O Capacity | 200
       Thread Concurrency | 0
      Concurrency Tickets | 5000
       Commit Concurrency | 0
      Txn Isolation Level | REPEATABLE-READ
        Adaptive Flushing | ON
      Adaptive Checkpoint |
           Checkpoint Age | 13k
             InnoDB Queue | 0 queries inside InnoDB, 0 queries in queue
       Oldest Transaction | 0 Seconds
         History List Len | 2400
               Read Views | 0
         Undo Log Entries | 0 transactions, 0 total undo, 0 max undo
        Pending I/O Reads | 0 buf pool reads, 0 normal AIO, 0 ibuf AIO, 0 preads
       Pending I/O Writes | 0 buf pool (0 LRU, 0 flush list, 0 page); 0 AIO, 0 sync, 0 log IO (0 log, 0 chkp); 0 pwrites
      Pending I/O Flushes | 0 buf pool, 0 log
       Transaction States | 1xnot started
# MyISAM #####################################################
                Key Cache | 32.0M
                 Pct Used | 25%
                Unflushed | 0%
# Security ###################################################
                    Users | 60 users, 0 anon, 0 w/o pw, 0 old pw
            Old Passwords | 0
# Binary Logging #############################################
# Noteworthy Variables #######################################
     Auto-Inc Incr/Offset | 1/1
   default_storage_engine | InnoDB
               flush_time | 0
             init_connect |
                init_file |
                 sql_mode | NO_ENGINE_SUBSTITUTION
         join_buffer_size | 256k
         sort_buffer_size | 256k
         read_buffer_size | 128k
     read_rnd_buffer_size | 256k
       bulk_insert_buffer | 0.00
      max_heap_table_size | 32M
           tmp_table_size | 32M
       max_allowed_packet | 1G
             thread_stack | 256k
                      log |
                log_error | /var/lib/mysql/mysql-error.log
             log_warnings | 1
         log_slow_queries |
log_queries_not_using_indexes | OFF
        log_slave_updates | OFF
# Configuration File #########################################
              Config File | /etc/my.cnf

[mysql]
port                                = 3306
socket                              = /var/lib/mysql/mysql.sock

[mysqld]
performance-schema                  = 0
performance-schema                  = 0
user                                = mysql
default-storage-engine              = InnoDB
socket                              = /var/lib/mysql/mysql.sock
pid-file                            = /var/lib/mysql/mysql.pid
performance-schema                  = 0
key-buffer-size                     = 32M
myisam-recover                      = FORCE,BACKUP
performance-schema                  = 0
max_allowed_packet                  = 1024M
max-connect-errors                  = 1000000
performance-schema                  = 0
datadir                             = /var/lib/mysql/
performance-schema                  = 0
performance-schema                  = 0
tmp-table-size                      = 32M
max-heap-table-size                 = 32M
query-cache-type                    = 0
query-cache-size                    = 0
max-connections                     = 50
thread-cache-size                   = 50
open-files-limit                    = 65535
table-definition-cache              = 4096
table-open-cache                    = 4096
performance-schema                  = 0
innodb-flush-method                 = O_DIRECT
innodb-log-files-in-group           = 2
innodb-log-file-size                = 137M
innodb-flush-log-at-trx-commit      = 2
innodb-file-per-table               = 1
innodb-buffer-pool-size             = 1100M
performance-schema                  = 0
log-error                           = /var/lib/mysql/mysql-error.log
log-queries-not-using-indexes       = 0
slow-query-log                      = 0
long_query_time                     = 2
slow-query-log-file                 = /var/lib/mysql/mysql-slow.log
performance-schema                  = ON
# Memory management library ##################################
jemalloc is not enabled in MySQL config for process with ID 31080
# The End ####################################################

2 个答案:

答案 0 :(得分:1)

您的服务器RAM少于2 GB。 my.cnf / ini在[mysqld]栏目中要做的事情

#max_allowed_packet=1024M  # to allow default to work for you.
#innodb_log_file_size=1.1G  # allow default to work for you.

观察,在考虑为innodb_change_buffer_max_size默认为25%的预留后,1.1G的innodb_buffer_pool_size有效大小为~800M。访问4G RAM并将innodb_buffer_pool_size增加到2G将允许innodb呼吸空间。

答案 1 :(得分:-1)

1000000的max_connect_errors会允许黑客/黑客100万次尝试“猜测”用户名/密码来访问您的系统。如果你真的不是这个意思,把它设置为10(然后你将有一个合理的保护措施)。是的,我知道100万是默认值。