mysql的一些說明

2021-08-22 10:23:32 字數 3979 閱讀 4492

資料備份型別

1、完全備份

2、部分備份

mysql資料備份的方式

1、熱備份:資料在執行備份時,讀寫不影響

2、溫備份:資料庫在執行備份時,讀可以執行,寫不可以執行

3、冷備份:資料庫在備份時,讀寫都不可以執行

mysql支援的儲存引擎

1、myisam:支援溫備份和冷備份

2、innodb:三種備份方式都支援

備份方式

1、物理備份:通過tar、cp等直接打包複製資料庫檔案

2、邏輯備份:通過特定的工具,從資料庫中匯出資料並另存備份(邏輯備份會丟失資料精度)

備份的資料

1、資料

2、二進位制日誌,innodb日誌

3、**(儲存過程,儲存函式,觸發器,事件排程器)

4、伺服器配置檔案

備份工具

1、mysqldum :邏輯備份工具

2、cp,tar 等歸檔複製工具

3、lvm2,snapshot 肌膚熱備,借助檔案系統管理工具進行備份

4、mysqlhotcopy 幾乎冷備,僅支援mysiam

5、xtrabackup

1、調優的幾個引數

[client] 

port = 3306

socket = /data/3306/mysql.sock

[mysql]

no-auto-rehash

[mysqld]

user = mysql

port = 3306

socket = /data/3306/mysql.sock

basedir = /usr/local/mysql

datadir = /data/3306/data

open_files_limit = 10240

back_log = 600

max_connections = 3000

max_connect_errors = 6000

table_cache = 614

external-locking = false

max_allowed_packet = 32m

sort_buffer_size = 2m

sort_buffer_size 是乙個connection級引數,在每個connection(session)第一次需要使用這個buffer的時候,一次性分配設定的記憶體。

sort_buffer_size 並不是越大越好,由於是connection級的引數,過大的設定+高併發可能會耗盡系統記憶體資源。例如:500個連線將會消耗 500*sort_buffer_size(8m)=4g記憶體

sort_buffer_size 超過2kb的時候,就會使用mmap() 而不是 malloc() 來進行記憶體分配,導致效率降低。

join_buffer_size = 2m

thread_cache_size = 300

thread_concurrency = 8

query_cache_size = 64m

query_cache_limit = 4m

query_cache_min_res_unit = 2k

default-storage-engine = myisam

default_table_type = innodb

thread_stack = 192k

transaction_isolation = read-committed

tmp_table_size = 256m

max_heap_table_size = 256m

long_query_time = 2

log_long_format

log-slow-queries=/data/3306/slow-log.log

binlog_cache_size = 4m

max_binlog_cache_size = 8m

max_binlog_size = 512m

expire_logs_days = 7

key_buffer_size = 2048m

read_buffer_size = 1m

read_rnd_buffer_size = 16m

bulk_insert_buffer_size = 64m

myisam_sort_buffer_size = 128m

myisam_max_sort_file_size = 10g

myisam_max_extra_sort_file_size = 10g

myisam_repair_threads = 1

skip-name-resolve

lower_case_table_names = 1

server-id = 1

innodb_additional_mem_pool_size = 16m

innodb_buffer_pool_size = 2048m

innodb_data_file_path = ibdata1:1024m:autoextend

innodb_file_io_threads = 4

innodb_thread_concurrency = 8

innodb_flush_log_at_trx_commit = 2

innodb_log_file_size = 128m

nnodb_log_buffer_size = 16m

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_file_per_table = 0

wait_timeout = 10

獨享表空間(關閉)

[mysqldump]

quick

max_allowed_packet = 32m

[mysqld_safe]

log-error=/data/3306/mysql_oldboy.err

pid-file=/data/3306/mysqld.pid

2、軟體優化

3、硬體優化

4、架構優化

5、sql慢查詢分析,調引數

慢查詢指執行超過一定時間的sql查詢,語句記錄到慢查詢日誌,方便開發人員看日誌

找問題:

long_quary_time          //定義慢查詢時間

slow_query_log //設定慢查詢開關

slow_query_log_file //設定慢查詢日誌檔案路徑

設定方法1:命令式

set log_query_time=1

set slow_query_log=on //設定慢查詢開關

set slow_query_log_file='/data/slow_log' //設定慢查詢日誌檔案路徑

設定方法2:修改配置檔案引數

vim /etc/my.cnf

[mysqld]

log_query_time=1

slow_query_log=on //設定慢查詢開關

slow_query_log_file='/data/slow_log'

mysql的一些狀態查詢

狀態或引數查詢

1、show status;

2、show variables;

show variables like 『%character%』; //檢視mysql字符集

3、show processlist; //檢視mysql正在執行的操作

引數修改

1、set global variables=?

例如: set global general_log = on;

ALV的一些說明

abap alv alv是系統的一種網格的顯示方式,這種方式帶有彙總 排序 篩選等功能,alv格式的資料是以單元格為單位顯示,不象一般的寫屏方式拷出來或是匯出成檔案不同列的內容粘在一塊,這種方式便於資料匯出來放在電子 裡進行加工.slis fieldcat alv中的部分欄位及意義 fieldnam...

string npos的一些說明

string npos的一些說明 static const size t npos 1 表示 size t 的最大值 maximum value for size t 如果對 1表示size t的最大值有疑問可以採用如下 驗證 include include include using namesp...

string npos的一些說明

一 定義 std string npos的定義 static const size t npos 1 表示 size t 的最大值 maximum value for size t 如果對 1 表示size t的最大值有疑問可以採用如下 驗證 include include include usin...