雲端計算學習素材、課件,msyql知識點講解

千鋒雲端計算發表於2019-12-19

在本篇文章中將給大家講解下 msyql中now()、sysdate()、curdate()區別:

雲端計算學習素材、課件,msyql知識點講解

SELECT date_sub(date_sub(date_format(now(),'%y-%m-%d '),interval extract( day from now())-1 day),interval 1 month);

select date_sub('2019-06-01',interval 1 month);

上個月第一天

select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract( day from now()) day),interval 0 month)

上個月最後一天

select date_sub(date_sub(date_format(now(),'%y-%m-%d'),interval extract( day from now())-1 day),interval 0 month)

select date_format(now(),'%Y-%m-01 ');

這個月第一天

Mysql日誌管理

error log 錯誤日誌 排錯 /var/log/mysqld.log【預設開啟】

bin log 二進位制日誌 備份 增量備份 DDL DML DCL

Relay log 中繼日誌 複製 接收 replication master

slow log 慢查詢日誌 調優 查詢時間超過指定值

Error Log

log-error=/var/log/mysqld.log

Binary Log(用於備份恢復資料)

產生binlog日誌:

log-bin=/var/log/mysql-bin/slave2

serve-id=2

# mkdir /var/log/mysql-bin/slave2

#chmod mysql.mysql /var/log/mysql-bin/slave

#systemctl restart mysqld

1. 重啟mysqld 會截斷舊日誌產生新的日誌

2. 重新整理日誌會截斷舊日誌產生新的日誌

mysql> flush logs

3. 刪除所有binlog(禁用)

mysql> reset master

4. 刪除部分日誌

mysql> PURGE BINARY LOGS TO 'mysql-bin.010';

mysql> PURGE BINARY LOGS BEFORE '2016-04-02 22:46:26';

5. 暫停binlog日誌功能(僅對當前會話生效)

mysql> SET SQL_LOG_BIN=0;

mysql> SET SQL_LOG_BIN=1;

讀取binlog日誌:

# mysqlbinlog mysql.000002

按datetime讀取:

# mysqlbinlog mysql.000002 --start-datetime="2018-12-05 10:02:56"

# mysqlbinlog mysql.000002 --stop-datetime="2018-12-05 11:02:54"

# mysqlbinlog mysql.000002 --start-datetime="2018-12-05 10:02:56" --stop-datetime="2018-12-05 11:02:54"

按position讀取:

# mysqlbinlog mysql.000002 --start-position=260

# mysqlbinlog mysql.000002 --stop-position=260

# mysqlbinlog mysql.000002 --start-position=260 --stop-position=930

檢視帶加密的binlong日誌

mysqlbinlog ---output=decode-rows -v 日誌檔案

根據binlog恢復資料:

根據時間點恢復資料

# mysqlbinlog --start-datetime='2014-11-25 11:56:54' --stop-datetime='2014-11-25 11:57:41' tiger-bin.000001 | mysql -u root -p1

根據位置點恢復資料

# mysqlbinlog --start-position 106 --stop-position 527 tiger-bin.000001 | mysql -u root -p1

重新整理bin-log日誌:

#mysqladmin flush-logs

去除binlog加密:

transaction_isolation=repeatable-read

binlog_format=mixed

慢查詢:

slow_query_log=1

slow_query_log_file=/var/log/mysql-slow/slow.log

long_query_time=3

# mkdir /var/log/mysql-slow/

# chown mysql.mysql /var/log/mysql-slow/

# systemctl restart mysqld

檢視慢查詢日誌

測試:BENCHMARK(count,expr)

SELECT BENCHMARK(50000000,2*3)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2669555/,如需轉載,請註明出處,否則將追究法律責任。

相關文章