第十二周作業(yè)

1熄攘、 導入hellodb.sql生成數(shù)據(jù)庫

(1) 在students表中,查詢年齡大于25歲省店,且為男性的同學的名字和年齡
(2) 以ClassID為分組依據(jù)挑辆,顯示每組的平均年齡
(3) 顯示第2題中平均年齡大于30的分組及平均年齡
(4) 顯示以L開頭的名字的同學的信息

[root@Centos8 ~]# dnf install -y mariadb-server;systemctl enable --now mariadb
[root@Centos8 ~]# mysql < hellodb_innodb.sql
MariaDB [hellodb]> select name,age from students where age >25 and gender ='M';
+--------------+-----+
| name         | age |
+--------------+-----+
| Xie Yanke    |  53 |
| Ding Dian    |  32 |
| Yu Yutong    |  26 |
| Shi Qing     |  46 |
| Tian Boguang |  33 |
| Xu Xian      |  27 |
| Sun Dasheng  | 100 |
+--------------+-----+
7 rows in set (0.001 sec)
MariaDB [hellodb]> select classid,avg(age) from students group by classid;
+---------+----------+
| classid | avg(age) |
+---------+----------+
|    NULL |  63.5000 |
|       1 |  20.5000 |
|       2 |  36.0000 |
|       3 |  20.2500 |
|       4 |  24.7500 |
|       5 |  46.0000 |
|       6 |  20.7500 |
|       7 |  19.6667 |
+---------+----------+
8 rows in set (0.001 sec)

MariaDB [hellodb]> select classid,avg(age) from students group by classid having AVG(age) > 30;
+---------+----------+
| classid | avg(age) |
+---------+----------+
|    NULL |  63.5000 |
|       2 |  36.0000 |
|       5 |  46.0000 |
+---------+----------+
3 rows in set (0.004 sec)
MariaDB [hellodb]> select * from students where name like 'L%';
+-------+-------------+-----+--------+---------+-----------+
| StuID | Name        | Age | Gender | ClassID | TeacherID |
+-------+-------------+-----+--------+---------+-----------+
|     8 | Lin Daiyu   |  17 | F      |       7 |      NULL |
|    14 | Lu Wushuang |  17 | F      |       3 |      NULL |
|    17 | Lin Chong   |  25 | M      |       4 |      NULL |
+-------+-------------+-----+--------+---------+-----------+
3 rows in set (0.000 sec)

2、數(shù)據(jù)庫授權magedu用戶魔慷,允許192.168.1.0/24網(wǎng)段可以連接mysql

mysql8.0前只锭,創(chuàng)建并賦權
grant Usage on *.* to magedu@'192.168.0.%' identified by '123';
mysql8.0,必須先創(chuàng)建后賦權
create user magedu@'192.168.1.%' identified by '123';
grant Usage on *.* to magedu@'192.168.1.%';

2、總結mysql常見的存儲引擎以及特點院尔。

MyISAM 引擎特點

  • 不支持事務
  • 表級鎖定
  • 讀寫相互阻塞蜻展,寫入不能讀,讀時不能寫
  • 只緩存索引
  • 不支持外鍵約束
  • 不支持聚簇索引
  • 讀取數(shù)據(jù)較快邀摆,占用資源較少
  • 不支持MVCC(多版本并發(fā)控制機制)高并發(fā)
  • 崩潰恢復性較差
  • MySQL5.5.5 前默認的數(shù)據(jù)庫引擎
    MyISAM 存儲引擎適用場景
  • 只讀(或者寫較少)
  • 表較凶莨恕(可以接受長時間進行修復操作)
    MyISAM 引擎文件
  • tbl_name.frm 表格式定義
  • tbl_name.MYD 數(shù)據(jù)文件
  • tbl_name.MYI 索引文件

InnoDB引擎特點

  • 行級鎖
  • 支持事務,適合處理大量短期事務
  • 讀寫阻塞與事務隔離級別相關
  • 可緩存數(shù)據(jù)和索引
  • 支持聚簇索引
  • 崩潰恢復性更好
  • 支持MVCC高并發(fā)
  • 從MySQL5.5后支持全文索引
  • 從MySQL5.5.5開始為默認的數(shù)據(jù)庫引擎

InnoDB數(shù)據(jù)庫文件

3栋盹、總結MySQL查詢緩存優(yōu)化總結片挂。

MySQL查詢緩存解釋
緩存完整的SELECT查詢結果,也就是查詢緩存贞盯。保存查詢返回的完整結果。當查詢命中該緩存沪饺,mysql會立刻返回結果躏敢,跳過了解析、優(yōu)化和執(zhí)行階段整葡,查詢緩存系統(tǒng)會跟蹤查詢中涉及的每個表件余,如果這些表發(fā)生變化,那么和這個表相關的所有數(shù)據(jù)都將失效

命中條件
  Mysql判斷緩存命中的方法很簡單:緩存存放在一個引用表中遭居,通過一個哈希值引用啼器,這個哈希值包括如下因素,即查詢本身俱萍、當前要查詢的數(shù)據(jù)庫端壳、客戶端協(xié)議的版本等一些都有可能影響返回結果信息。
  當判斷查詢緩存是否命中時枪蘑,Mysql不會解析损谦、正規(guī)化或者參數(shù)化的查詢語句,而是直接使用Sql語句和客戶端發(fā)送過來的其他原始信息(Sql)岳颇。任何字符上的不同照捡,例如注釋,任何的不同都會導致緩存不命中话侧,所以在編寫Sql語句的時候栗精,需要特別注意這一點,通常使用統(tǒng)一的編碼規(guī)則是一個好的習慣瞻鹏,在這里這個好習慣可能讓你的系統(tǒng)運行的更快

當查詢語句有一些不確定的數(shù)據(jù)時悲立,則不會被緩存鹿寨,例如白喊函數(shù)NOW()或者CURRENTDATE()的查詢不會被緩存

如果查詢語句中包含任何不確定的函數(shù),那么在查詢緩存中是不可能找到緩存結果的级历,即使之前剛剛執(zhí)行這樣的查詢

導致沒有命中條件
1释移、緩存碎片
2、內存不足
3寥殖、數(shù)據(jù)修改

特別注意
Mysql的查詢緩存在很多時候可以提升查詢性能玩讳,在使用的時候,有一些問題需要特別注意嚼贡。首先熏纯,打開查詢緩存對 讀,寫 操作都會帶來額外的消耗:
1粤策、讀查詢在開始之前必須先檢查是否命中緩存
2樟澜、如果這個讀查詢可以被緩存,那么當完成執(zhí)行后叮盘,Mysql若發(fā)現(xiàn)查詢緩存中沒有這個查詢秩贰,會將其結果存入查詢緩存,這會帶來額外的系統(tǒng)開銷
3柔吼、這對寫操作也會影響毒费,因為當向某個表寫入數(shù)據(jù)的時候,Mysql必須將對應表的所有緩存都設置失效愈魏。
4觅玻、對于存儲引擎InnoDB用戶來說,事務的一些特性會限制查詢緩存的作用培漏。當一個語句在事務中修改某個表溪厘,Mysql會將這個表對應的查詢緩存都設置失效。在事務提交前該表的查詢都無法被緩存牌柄,只能在事務提交后才能被緩存畸悬。因此長時間運行的事務,會大大降低查詢緩存的命中率
5珊佣、inner JOIN 和 其他連接 查詢 如果其中一個表數(shù)據(jù)發(fā)生變化 則直接導致 緩存失效

緩存配置參數(shù)
query_cache_type: 是否打開緩存
可選項

  1. OFF: 關閉
  2. ON: 總是打開
  3. DEMAND: 只有明確寫了SQL_CACHE的查詢才會吸入緩存

如果不想所有查詢都進入查詢緩存傻昙,但是又希望某些查詢走查詢緩存,那么可以將 query_cache_type 設置成 DEMAND 彩扔,然后在希望緩存的查詢上加上SQL_CACHE妆档。這雖然需要在查詢中加入額外的語法,但是可以讓你非常自由的控制那些查詢需要被緩存虫碉。相反如果不希望緩存 加上SQL_NO_CACHE

4贾惦、MySQL日志各類總結。

1. 概述
與大多數(shù)關系型數(shù)據(jù)庫,日志文件是MySQL數(shù)據(jù)庫的一個重要組成部分须板。MySQL有幾種不同的日志文件碰镜,通常包括錯誤日志文件,二進制日志习瑰,通用日志绪颖,慢查詢日志,等等甜奄。
這些日志能夠幫助我們定位mysqld內部發(fā)生的事件柠横,數(shù)據(jù)庫性能故障。記錄數(shù)據(jù)的變更歷史课兄,用戶恢復數(shù)據(jù)庫等等牍氛。

2. mysql日志組成
(1)錯誤日志:記錄啟動、運行或停止mysqld時出現(xiàn)的問題烟阐。
(2)通用日志:記錄建立的client連接和運行的語句搬俊。
(3)更新日志:記錄更改數(shù)據(jù)的語句。該日志在MySQL 5.1中已不再使用蜒茄。
(4)二進制日志:記錄全部更改數(shù)據(jù)的語句唉擂。還用于復制。
(5)慢查詢日志:記錄全部運行時間超過long_query_time秒的全部查詢或不使用索引的查詢檀葛。
(6)Innodb日志:innodb redo log
缺省情況下楔敌,全部日志創(chuàng)建于mysqld數(shù)據(jù)文件夾中。
能夠通過刷新日志驻谆。來強制mysqld來關閉和又一次打開日志文件(或者在某些情況下切換到一個新的日志)。
當你運行一個FLUSH LOGS語句或運行mysqladmin flush-logs或mysqladmin refresh時庆聘,則日志被老化胜臊。
對于存在MySQL復制的情形下,從復制server將維護很多其它日志文件伙判,被稱為接替日志象对。

3. 通用查詢日志
3.1 啟動和設置通用查詢日志
通用查詢日志記錄了mysql的所有用戶操作,包括啟動和關閉服務宴抚、執(zhí)行查詢和更新語句等勒魔。
mysql服務器默認情況下并沒有開啟通用查詢日志。如果需要通用查詢日志菇曲,可以通過修改my.ini或my.cnf配置文件來開啟冠绢。在my.ini或my.cnf的[mysqld]組下加入log選項或者啟動mysql時通過–log[=file_name]或-l [file_name]選項啟動它。假設沒有給定file_name的值常潮, 默認名是host_name.log弟胀。通用查詢日志將默認存儲在mysql數(shù)據(jù)目錄中的hostname.log文件中。hostname是mysql數(shù)據(jù)庫的主機名
my.in中形式如下:

[mysqld]
log[=path/[filename]]

mysqld依照它接收的順序記錄語句到查詢日志。這可能與運行的順序不同孵户。
不同于更新日志和二進制日志萧朝,它們在查詢運行后∠目蓿可是不論什么一個鎖釋放之前記錄日志检柬。
查詢日志包括全部語句,而二進制日志不包括僅僅查詢數(shù)據(jù)的語句竖配。
server又一次啟動和日志刷新不會產(chǎn)生新的一般查詢日志文件何址。

3.2 查看通用查詢日志
通用查詢日志中記錄了用的所有操作。通過查看通用查詢日志械念,可以了解用戶對mysql進行的操作头朱。通用查詢日志是以文本文件形式存儲在文件系統(tǒng)中的,可以使用文本編輯器直接打開通用日志文件進行查看龄减,Windows下可以使用記事本,Linux下可以使用vim项钮、gedit等

3.3 刪除通用查詢日志
通用查詢日志是以文本文件的形式存儲在文件系統(tǒng)中的。通用查詢日志記錄用戶的所有操作希停,因此在用戶查詢烁巫、更新頻繁的情況下,通用查詢日志會增長得很快宠能。DBA可以定期刪除比較早的通用日志亚隙,以節(jié)省磁盤空間,可以用直接刪除日志文件的方式刪除通用查詢日志违崇。要重新建立新的日志文件阿弃,可使用語句:

mysqladmin -flush logs

或者直接刪除日志文件。
3.4 通用查詢日志的系統(tǒng)變量
log_output=[none|file|table|file,table] #通用查詢日志輸出格式
general_log=[on|off] #是否啟用通用查詢日志
general_log_file[=filename] #通用查詢日志位置及名字

4. 二進制日志

二進制日志就是我們經(jīng)常說的binlog羞延,主要記錄mysql數(shù)據(jù)庫的變化渣淳。
二進制日志以一種有效的格式,并且是事務安全的方式包含更新日志中可用的所有信息伴箩。
二進制日志包含關于每個更新數(shù)據(jù)庫的語句的執(zhí)行時間信息入愧。他不包含沒有修改任何數(shù)據(jù)的語句,例如select語句
使用二進制日志的最大目的是最大可能地恢復數(shù)據(jù)庫嗤谚,因為二進制日志包含備份后進行的所有更新.

4.1 啟動和設置二進制日志
默認情況下棺蛛,二進制日志是關閉的,可以通過修改mysql的配置文件來啟動和設置二進制日志,my.ini中[mysqld]組下面有幾個設置是關于二進制日志的:

log-bin[=PATH/[FILENAME]]
expire_logs_days=10
max_binlog_size=100M

log-bin定義開啟二進制日志巩步;path表明日志文件所在的目錄路徑旁赊;
filename指定了日志文件的名稱,如文件的全名是filename.0001椅野,filename.0002等彤恶,除了上述文件之外钞钙,還有一個成為filename.index的文件,文件內容為所有日志的清單声离,可以使用記事本打開該文件filename.index文件的內容芒炼,當前只有一個binlog文件:.\C:\ProgramData\MySQL\MySQL Server 5.7\logs\bin-log.000001
expire_logs_days定義了mysql清除過期日志的時間,即二進制日志自動刪除的天數(shù)术徊。默認值為0本刽,表示“沒有自動刪除”。當mysql啟動或刷新二進制日志時可能刪除該文件
max_binlog_size定義了單個文件的大小限制赠涮,如果二進制日志寫入的內容大小超出給定值子寓,日志就會發(fā)生滾動(關閉當前文件,重新打開一個新的日志文件)笋除。不能將該變量設置為大于1GB或小于4096字節(jié)斜友。默認值是1GB,如果正在使用大事務 垃它,二進制日志文件大小還可能超過max_binlog_size的定義大小鲜屏。
可以通過SHOW VARIABLES語句來查詢日志設置,使用show VARIABLES 語句查看日志設置


image.png

可以看到log_bin為ON国拇,max_binlog_size為104857600字節(jié)洛史,換算為MB為100MB,MYSQL重新啟動之后酱吝,就可以看到新產(chǎn)生的文件后綴為.000001和.index的兩個文件也殖,文件名稱默認為主機名稱,我已經(jīng)在配置文件中指定了文件名务热,所以不會以默認主機名生成忆嗜,如下,因為我之前就開啟了二進制日志崎岂,所以重啟后后綴為000002:

4.2 查看二進制日志
mysql二進制日志是經(jīng)常用到的捆毫。當mysql創(chuàng)建二進制日志文件時,首先創(chuàng)建一個以filename為名稱该镣,以index為后綴的文件;
再創(chuàng)建一個以filename為名稱响谓,以“.000001”為后綴的文件损合。當mysql服務重新啟動一次,以“.000001”為后綴的文件會增加一個娘纷,
并且后綴名加1遞增嫁审;如果日志長度超過了max_binlog_size的上限(默認是1GB)也會創(chuàng)建一個新的日志文件
show binary logs語句可以查看當前二進制日志文件個數(shù)和文件名。mysql二進制日志并不能直接查看赖晶,如果要查看日志內容律适,
可以通過mysqlbinlog命令查看,使用show binary logs語句查看二進制日志文件個數(shù)和文件名:


image.png

可以看到辐烂,當前有兩個二進制日志文件,因為我把mysql服務重啟了一次捂贿,日志文件的個數(shù)和mysql服務啟動的次數(shù)相同纠修。每啟動一次mysql服務,將會產(chǎn)生一個新的日志文件,使用mysqlbinlog查看二進制日志,mysqlbinlog是一個單獨的exe厂僧,需要在命令行里執(zhí)行我們把binlog文件里面的內容導出到binlog.txt

4.3 刪除二進制日志
mysql的二進制日志可以配置自動刪除扣草,同時mysql也提供了安全的手動刪除二進制日志的方法,刪除所有的二進制日志文件使用

RESET MASTER;

執(zhí)行該語句颜屠,所有二進制日志將被刪除辰妙,mysql 會重新創(chuàng)建二進制日志,新的日志文件擴展名將重新從000001開始編號甫窟,只刪除部分二進制日志文件使用PURGE MASTER LOGS;語法如下:

PURGE {MASTER | BINARY} LOGS TO
'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'

第一種方法指定文件名密浑,執(zhí)行該命令將刪除文件名編號比指定文件名編號小的所有日志文件
第二種方法指定日期,執(zhí)行該命令將刪除指定日期以前的所有日志文件粗井。

4.4 查看二進制日志里的操作記錄
使用如下命令:show binlog events;
比如想查看某一個二進制日志里面的記錄搜锰,但又不想用mysqlbinlog,可以使用show binlog events
比如我想查看’bin-log.000002′這個binlog文件的內容蒲祈,執(zhí)行如下命令:

image.png

可以看到’bin-log.000002′這個binlog文件記錄了哪些SQL命令,如果想知道binlog文件的創(chuàng)建時間谷婆,就需要mysqlbinlog工具來查看

4.5 使用二進制日志還原數(shù)據(jù)庫
如果mysql服務器啟用了二進制日志,在數(shù)據(jù)庫出現(xiàn)意外丟失數(shù)據(jù)時径玖,可以使用mysqlbinlog工具從指定的時間點開始(例如痴脾,最后一次備份)直到現(xiàn)在,或另外一個指定的時間點的日志中恢復數(shù)據(jù),要想從二進制日志恢復數(shù)據(jù)梳星,需要知道當前二進制日志文件的路徑和文件名赞赖。一般可以從配置文件(即my.cnf或者my.ini,文件名取決于mysql服務器的操作系統(tǒng))中找到路徑.
mysqlbinlog恢復數(shù)據(jù)的語法如下:

mysqlbinlog [option] filename |mysql -uuser -ppass

option是一些可選項冤灾,filename是日志文件名,比較重要的兩對option參數(shù)是
–start-datetime前域、–stop-datetime
–start-position、–stop–position
–start-date韵吨、–stop-date可以指定恢復數(shù)據(jù)庫的起始時間點和結束時間點
–start-position匿垄、–stop–position可以指定恢復數(shù)據(jù)的開始位置和結束位置

4.6 暫時停止二進制日志
如果在mysql的配置文件配置啟動了二進制日志,mysql會一直記錄二進制日志归粉,修改配置文件椿疗,可以停止二進制日志,
但是需要重啟mysql數(shù)據(jù)庫糠悼。mysql提供了暫時停止二進制日志的功能届榄。通過 SET SQL_LOG_BIN 語句可以使mysql暫停或者啟動二進制日志

SET sql_log_bin={0|1}

其中0是停止倔喂,其實啟用

5. 錯誤日志

錯誤日志文件包含了當mysqld啟動和停止時铝条,以及服務器在運行過程中發(fā)生任何嚴重錯誤時的相關信息靖苇。
在MYSQL中,錯誤日志也是非常重要的班缰,mysql將啟動和停止數(shù)據(jù)庫信息以及一些錯誤信息記錄到錯誤日志中
5.1 啟動和設置錯誤日志
在默認情況下贤壁,錯誤日志會記錄到數(shù)據(jù)庫的數(shù)據(jù)目錄下。如果沒有在配置文件中指定文件名鲁捏,則文件名默認為hostname.err芯砸。
例如:mysql所在服務器主機名為mysql-db,記錄錯誤信息的文件名為mysql-db.err给梅。如果執(zhí)行了FLUSH LOGS假丧,錯誤日志文件會重新加載
錯誤日志的啟動和停止以及日志文件名,都可以通過修改my.ini(或者my.cnf)來配置动羽。錯誤日志的配置項是log-error包帚。
在[mysqld]下配置log-error,在啟動錯誤日志运吓。如果需要指定文件名渴邦,則配置項如下:

[mysqld]
log-error=[path/[file_name]]

path為日志文件所在的目錄路徑,filename為日志文件名拘哨。修改配置項后谋梭,需要重啟mysql服務才生效.

5.2 查看錯誤日志
通過錯誤日志可以監(jiān)視系統(tǒng)的運行狀態(tài),便于及時發(fā)現(xiàn)故障倦青,修復故障瓮床。mysql錯誤日志是以文本文件形式存儲的,可以使用文本編輯器直接查看mysql錯誤日志,如果不知道日志文件的存儲路徑产镐,可以使用 show variables; 語句查看錯誤日志的存儲路徑隘庄。
語句如下:

show variables LIKE 'log_error';

5.3 刪除錯誤日志
mysql的錯誤日志以文本文件的形式存儲在文件系統(tǒng)中,可以直接刪除,對于mysql5.5.7以前的版本癣亚,flush logs可以將錯誤日志文件重命名為filename.err_old丑掺,并創(chuàng)建新的日志文件。但是從mysql5.5.7開始述雾,flush logs只是重新打開日志文件街州,并不做日志備份和創(chuàng)建的操作。
如果日志文件不存在玻孟,mysql啟動或者執(zhí)行flush logs時會創(chuàng)建新的日志文件,在運行狀態(tài)下刪除錯誤日志文件后唆缴,mysql并不會自動創(chuàng)建日志文件。flush logs在重新加載日志的時候取募,如果文件不存在琐谤,則會自動創(chuàng)建蟆技。所以在刪除錯誤日志之后玩敏,如果需要重建日志文件需要在服務器端執(zhí)行以下命令:

mysqladmin -u root -p flush-logs

或者在客戶端登錄mysql數(shù)據(jù)庫斗忌,執(zhí)行flush logs語句

flush logs;

刪除err文件,并用flush logs語句重建log-error文件.

6. 慢查詢日志

慢查詢日志是記錄查詢時長超過指定時間的日旺聚。慢查詢日志主要用來記錄執(zhí)行時間較長的查詢語句,通過慢查詢日志织阳,可以找出執(zhí)行時間較長、執(zhí)行效率較低的語句砰粹,然后進行優(yōu)化

6.1 啟動和設置慢查詢日志
mysql中慢查詢日志默認是關閉的唧躲,可以通過配置文件my.ini或my.cnf中的log-slow-queries選項打開,也可以在mysql服務啟動的時候使用–log–slow-queries[=file_name]啟動慢查詢日志碱璃。啟動慢查詢日志時弄痹,需要在my.ini或者my.cnf文件中配置long_query_time選項指定記錄閥值,如果某條查詢語句的查詢時間超過了這個值嵌器,這個查詢過程將被記錄到慢查詢日志
文件中肛真。
在my.ini或者my.cnf文件中開啟慢查詢日志的配置如下:

slow-query-log=1
slow_query_log_file="DESKTOP-EJUQL8D-slow.log"
long_query_time=10

path為日志文件所在目錄路徑,filename為日志文件名爽航。如果不指定目錄和文件名稱蚓让,默認存儲在數(shù)據(jù)目錄中文件名為hostname-slow.log,hostname是mysql服務器的主機名讥珍。參數(shù)n是時間值历极,單位是秒。如果沒有設置long-query_time選項衷佃,默認時間為10秒

6.2 查看慢查詢日志
mysql的慢查詢日志是以文本形式存儲的趟卸,可以直接使用文本編輯器查看。在慢查詢日志中纲酗,記錄著執(zhí)行時間較長的查詢語句衰腌,用戶可以從慢查詢日志中獲取執(zhí)行效率較低的查詢語句,為查詢優(yōu)化提供重要的依據(jù),查看慢查詢日志的一些參數(shù)

show variables like '%slow%';

6.3 刪除慢查詢日志
和通用查詢日志一樣觅赊,慢查詢日志也可以直接刪除右蕊。刪除后在不重啟服務器的情況下,需要執(zhí)行

mysqladmin -u root -p flush logs

重新生成日志文件吮螺,或者在客戶端登錄到服務器執(zhí)行 flush logs; 語句重建日志文件,官方mysql的慢查詢日志在這里有一個缺陷饶囚,就是查詢閥值只能是1秒或以上,如果要設置一秒以下就無能為力了,這時候如果想找出1秒以下的慢查詢SQL鸠补,可以使用percona提供的microslow-patch來突破限制,將慢查詢時間閥值減小到毫秒級別

7. 總結

平時應打開哪些日志
日志既會影響mysql的性能紫岩,又會占用大量磁盤空間。因此歇万,如果不必要揩晴,應盡可能少地開啟日志。
根據(jù)不同的使用環(huán)境贪磺,考慮開啟不同的日志。
例如開發(fā)環(huán)境中優(yōu)化查詢效率低的語句劫映,可以開啟慢查詢日志,或者生產(chǎn)環(huán)境中發(fā)現(xiàn)某些SQL執(zhí)行特別慢也可以開啟
如果磁盤空間不是特充足可以在高峰期間開啟刹前,在捕獲到查詢慢的SQL之后再關閉慢查詢日志
如果需要搭建復制環(huán)境泳赋,那么就一定要開啟二進制日志,如果數(shù)據(jù)特別重要也建議開啟二進制日志喇喉,以便數(shù)據(jù)庫損壞的時候也可以通過二進制日志
挽救一部分數(shù)據(jù)
通用日志無論在哪種情況下轧飞,一般不建議開啟

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市过咬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泵三,老刑警劉巖衔掸,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異较曼,居然都是意外死亡振愿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門萍歉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來档桃,“玉大人,你說我怎么就攤上這事蔑舞。” “怎么了斗幼?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抚垄。 經(jīng)常有香客問我呆馁,道長,這世上最難降的妖魔是什么浙滤? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任纺腊,我火速辦了婚禮,結果婚禮上揖膜,老公的妹妹穿的比我還像新娘壹粟。我一直安慰自己,他們只是感情好趁仙,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布雀费。 她就那樣靜靜地躺著,像睡著了一般盏袄。 火紅的嫁衣襯著肌膚如雪貌矿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天黑低,我揣著相機與錄音,去河邊找鬼克握。 笑死,一個胖子當著我的面吹牛掰曾,可吹牛的內容都是我干的停团。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秒梅,長吁一口氣:“原來是場噩夢啊……” “哼舌胶!你這毒婦竟也來了?” 一聲冷哼從身側響起辆它,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤履恩,失蹤者是張志新(化名)和其女友劉穎似袁,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昙衅,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡而涉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了材原。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片季眷。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖威酒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情担钮,我是刑警寧澤尤仍,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站苏遥,受9級特大地震影響绑莺,放射性物質發(fā)生泄漏惕耕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一欺缘、第九天 我趴在偏房一處隱蔽的房頂上張望挤安。 院中可真熱鬧,春花似錦嫩絮、人聲如沸围肥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氢伟。三九已至,卻和暖如春朵锣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背设褐。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留犀被,地道東北人外冀。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓雪隧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脑沿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內容

  • 1注服、使用rpm安裝mysql 安裝環(huán)境OS: centos 7.5MYSQL: mysql5.7 因為系統(tǒng)自帶...
    ritch閱讀 128評論 0 0
  • 1溶弟、搭建vsftpd瞭郑,并實現(xiàn)虛擬用戶 root用戶登錄 #yum install vsftpd -y 安裝完后可以...
    衛(wèi)清華閱讀 252評論 0 0
  • 1屈张、總結mysql常見的存儲引擎以及特點。 存儲引擎:負責把具體SQL語句的結果完成對磁盤上文件路徑訪問的轉換阁谆,數(shù)...
    陌路殘蟬閱讀 156評論 1 0
  • 1、總結mysql常見的存儲引擎以及特點纳鼎。 1裳凸、MyISAM存儲引擎MyISAM引擎特點:● 不支持事務● 表級鎖...
    紫火紅云閱讀 154評論 0 0
  • 一、總結mysql常見的存儲引擎以及特點逗宁。 1梦湘、 MyISAM存儲引擎 MyISAM引擎特點:不支持事務表級鎖定讀...
    亨利閱讀 289評論 1 0