MySQL技术内幕-InnoDB存储引擎-读书笔记(二)
作为php开发,使用mysql总是少不了的
系列文章博客链接 http://itsong.net/articles/466.html
第三章 文件
mysql与innodb几个类型的文件
参数文件,配置路径、初始化参数、内存大小等 日志文件,包括错误日志,二进制日志,慢查询日志,查询日志 socket文件,用unix域套接字,unix domain socket来进行连接时需要的文件,这一般是本机连接,比通常tcp快 pid文件,进程id文件 表结构文件,存放表结构定义的文件 存储引擎文件,每个存储引擎自己搞文件保存数据,包括数据和索引等。*
参数文件
musql --help | grep my.cnf可以寻找加载哪些参数文件 静态参数,整个实例生命周期不得更改,类似只读。 动态参数,可以通过set命令进行更改<code class="hljs sql">SET | [global | session] system_var_name = expr | [@@global. | @@session. | @@]system_var_name = expr</code>
global与session表示该参数的修改基于当前会话还是整个实例的生命周期。
日志文件
错误日志,show variables like 'log_error'定位错误日志,默认情况下,文件名为服务器主机名.err 慢查询日志,阈值通过 long_query_time 修改,默认值10秒(含义是大于10,不包括10),默认不启动慢查询日志,要将 log_slow_queries 设为ON,mysqldumpslow可以解决日志过多难以解决的问题 从5.1开始,慢查询可以以微秒记录。并且慢查询会进表,叫mysql.slow_log,通过log_output(FILE | TABLE)指定 log_queries_not_using_indexes,记录没有使用索引的慢查询日志文件 查询日志,默认文件名为主机名.log,也可以进表,general_log 二进制日志,记录对数据库执行更改的所有操作,不包括SELECT和SHOW这类操作。包括操作时间和执行时间等信息。主要用来恢复、复制(master,slave实时同步) 二进制日志所在目录show variables like 'datadir',默认文件名为主机名,后缀为序列号,bin_log.index为二进制的索引文件,存储日志序号 默认二进制日志未开启,开启binlog性能下降1%,但是可以接受的 查看binlog要使用mysqlbinlog,binlog还有很多操作,不过这里我不太关心啦
其他
套接字文件,一般再/tmp下,mysql.sock pid文件,主机名.pid,variables 为 pid_file 表结构定义文件,frm后缀名的文件,记录的表结构定义以及视图定义,文本文件,可以直接cat
innodb存储引擎文件
存储的数据按表空间进行存放,默认会有一个初始化大小为10MB,名为ibdata1的文件,默认表空间。 设置innodb_data_file_path参数后,innodb存储引擎的表的数据都会记录到该文件内。 设置innodb_file_per_table,每个基于innodb存储引擎的表单独产生一个表空间,文件名为表名.ibd,就不会进入默认表空间。 这些单独的表空间文件仅存储该表的数据,索引和插入缓冲等信息,其余信息还是存放在默认的表空间。
重做日志文件
ib_logfile0和ib_logfile1,记录了innodb存储引擎的事务日志 每个文件写到文件最后时,切换至另一个日志文件去写,为了得到更高的可靠性,可以设置多个镜像日志组

掌握添加MySQL用戶的方法對於數據庫管理員和開發者至關重要,因為它確保數據庫的安全性和訪問控制。 1)使用CREATEUSER命令創建新用戶,2)通過GRANT命令分配權限,3)使用FLUSHPRIVILEGES確保權限生效,4)定期審計和清理用戶賬戶以維護性能和安全。

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

在MySQL中處理字符串數據類型和索引的最佳實踐包括:1)選擇合適的字符串類型,如CHAR用於固定長度,VARCHAR用於可變長度,TEXT用於大文本;2)謹慎索引,避免過度索引,針對常用查詢創建索引;3)使用前綴索引和全文索引優化長字符串搜索;4)定期監控和優化索引,保持索引小巧高效。通過這些方法,可以在讀取和寫入性能之間取得平衡,提升數據庫效率。

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

選擇MySQL的BLOB和TEXT數據類型時,BLOB適合存儲二進制數據,TEXT適合存儲文本數據。 1)BLOB適用於圖片、音頻等二進制數據,2)TEXT適用於文章、評論等文本數據,選擇時需考慮數據性質和性能優化。

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

mySqlStringDatatAtatPessHouldBechoseBasedondatActarActeristicsAndusecases:1)USEcharforFixed lengthStstringStringStringSlikeCountryCodes.2)usevarcharforvariable-lengtthslikeLikenames.3)usebarnionororvarinyorvarinyorvarybinarydatalgebenedaTalgeextocrabextrapon.4)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能