好程式設計師雲端計算培訓分享msyql知識點講解

好程式設計師發表於2020-08-13

   好程式設計師雲端計算培訓分享msyql 知識點講解 在本篇文章中將給大家講解下msyql now() sysdate() curdate() 區別:

   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/69913864/viewspace-2711408/,如需轉載,請註明出處,否則將追究法律責任。

相關文章