資料備份型別
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...