Windows下MySQL日志基本的查看以及導(dǎo)入導(dǎo)出用法教程
MYSQL有不同類型的日志文件(各自存儲(chǔ)了不同類型的日志),從它們當(dāng)中可以查詢到MYSQL里都做了些什么,對(duì)于MYSQL的管理工作,這些日志文件是不可缺少的。
1.錯(cuò)誤日志(The error log):記錄了數(shù)據(jù)庫(kù)啟動(dòng)、運(yùn)行以及停止過(guò)程中錯(cuò)誤信息;
2.ISAM操作日志(The isam log):記錄了所有對(duì)ISAM表的修改,該日志僅僅用于調(diào)試ISAM模式;
3.SQL執(zhí)行日志(The query log):記錄了客戶端的連接以及所執(zhí)行的SQL語(yǔ)句;
4.更新日志(The update log):記錄了改變數(shù)據(jù)的語(yǔ)句,已經(jīng)不建議使用,由二進(jìn)制日志替代;
5.二進(jìn)制日志(The binary log):記錄了所有對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的修改語(yǔ)句;
6.超時(shí)日志(The slow log):記錄所有執(zhí)行時(shí)間超過(guò)最大SQL執(zhí)行時(shí)間(long_query_time)或未使用索引的語(yǔ)句;
如果你是在用mysql的復(fù)制、備份功能,那么從服務(wù)器還提供了一種叫做relay log的日志文件。
默認(rèn)情況下所有日志文件會(huì)記錄在MYSQL的數(shù)據(jù)目錄下,你可以通過(guò)強(qiáng)制mysql去關(guān)閉并重新打開(kāi)一個(gè)文件進(jìn)行日志記錄,當(dāng)然系統(tǒng)會(huì)自動(dòng)加后綴(如.00001, .00002),方式有在mysql環(huán)境下執(zhí)行語(yǔ)句 mysql>flush logs; 或者通過(guò)mysqladmin管理程序執(zhí)行 #mysqladmin flush-logs 或 #mysqladmin refresh
這些日志的啟動(dòng)方式可以在mysqld_safe方式啟動(dòng)數(shù)據(jù)庫(kù)的時(shí)候,后面跟選項(xiàng)參數(shù),也可以在配置文件里配置,推薦采用第二種方式,配置方法很簡(jiǎn)單,我只配置了三種日志:
[mysqld] log=/var/log/mysqld_common.log log-error=/var/log/mysqld_err.log log-bin=/var/log/mysqld_bin.bin
查看
日志的查看很簡(jiǎn)單,大部分都是文本,直接用vim、less、more之類的工具看就可以了,值得說(shuō)明的是二進(jìn)制文件的查看:
1). 首先確定是否開(kāi)啟了二進(jìn)制文件記錄功能
mysql>show variables like 'log_bin';
mysql>show master status;
3). 查看二進(jìn)制數(shù)據(jù)需要借助程序mysqlbinlog,看看它支持哪些選項(xiàng),根據(jù)自己需要來(lái)使用。
mysql>mysqlbinlog /var/log/mysql/mysql-bin.000040;
查詢某個(gè)時(shí)間范圍的可以執(zhí)行下列語(yǔ)句,如果記錄很多可以將結(jié)果定向到一個(gè)文件里自己慢慢看:-) :
mysql>mysqlbinlog --start-datetime='2008-01-01 00:00:00' --stop-datetime='2008-08-08 00:00:00' /var/log/mysql/mysql-bin.000040 > ./tmp.log
導(dǎo)出
MySQL的數(shù)據(jù)庫(kù)導(dǎo)出有很多種,我現(xiàn)在就介紹一下MySQL自帶的mysqldump命令導(dǎo)出導(dǎo)入。
注:導(dǎo)出時(shí),按照mysql表編碼導(dǎo)出。如果導(dǎo)入時(shí),mysql服務(wù)器端的編碼不和表一致,導(dǎo)入出錯(cuò)。
1、MySQL導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)及數(shù)據(jù)命令:
注:生成.sql文件,可是是多個(gè)數(shù)據(jù)庫(kù),多個(gè)數(shù)據(jù)庫(kù)用逗號(hào)分隔。
2、MySQL導(dǎo)出數(shù)據(jù)庫(kù)單個(gè)表表結(jié)構(gòu)及數(shù)據(jù)命令:
mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫(kù)名 表名 >f:\路徑+導(dǎo)出SQL的名稱
注:多個(gè)表可以用逗號(hào)分隔。
3、MySQL導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu)命令:
mysqldump -u用戶名 -p密碼 -d 數(shù)據(jù)庫(kù)名>f:\路徑+導(dǎo)出SQL的名稱
注:整個(gè)數(shù)據(jù)庫(kù)表結(jié)構(gòu),生成.sql文件。
4、MySQL導(dǎo)出數(shù)據(jù)庫(kù)單個(gè)表結(jié)構(gòu)命令:
mysqldump -u用戶名 -p密碼 -d 數(shù)據(jù)庫(kù)名 表名 >f:\路徑+導(dǎo)出SQL的名稱
注:?jiǎn)蝹€(gè)表結(jié)構(gòu),生成.sql文件,可是多張表。多表以空格區(qū)分
導(dǎo)入
MySQL的導(dǎo)入:
1)進(jìn)入cmd
2)
mysql -h localhost -u用戶名 -p密碼
3)
mysql -h -localhost -u用戶名 -p密碼 進(jìn)入mysql create database test use test source f:\test.sql
相關(guān)文章
解決MySQL存儲(chǔ)時(shí)間出現(xiàn)不一致的問(wèn)題
這篇文章主要介紹了解決MySQL存儲(chǔ)時(shí)間出現(xiàn)不一致的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
使用MySQL如何實(shí)現(xiàn)分頁(yè)查詢
這篇文章主要介紹了使用MySQL如何實(shí)現(xiàn)分頁(yè)查詢,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
解決當(dāng)MySQL數(shù)據(jù)庫(kù)遇到Syn Flooding問(wèn)題
Syn攻擊常見(jiàn)于應(yīng)用服務(wù)器,而數(shù)據(jù)庫(kù)服務(wù)器在內(nèi)網(wǎng)中,應(yīng)該很難碰到類似的攻擊,這篇文章主要介紹了當(dāng)MySQL數(shù)據(jù)庫(kù)遇到Syn Flooding問(wèn)題 ,需要的朋友可以參考下2019-06-06
Mysql實(shí)驗(yàn)之使用explain分析索引的走向
索引是mysql的必須要掌握的技能,同時(shí)也是提供mysql查詢效率的手段。通過(guò)以下的一個(gè)實(shí)驗(yàn)可以理解?mysql的索引規(guī)則,同時(shí)也可以不斷的來(lái)優(yōu)化sql語(yǔ)句2018-01-01
mysql 8.0 找不到my.ini配置文件以及報(bào)sql_mode=only_full_group
MySQL5.7.5及以上版本啟用ONLY_FULL_GROUP_BYSQL模式可能導(dǎo)致的問(wèn)題,本文就來(lái)介紹一下找不到my.ini配置文件的解決方法,感興趣的可以了解一下2024-08-08

