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

mySqlStringDatatatPessHouldBechoseBeadeDataCharacteristicsAndUsecases:1)USECHARFORFIXED LENGTHSTRINGSTRINGSLIKECOUNTRYCODES.2)USEDES.2)usevarcharforvariable-lengtthstringstringstringstringstringstringstringslikenames.3)usebinaryorvarrinaryorvarinarydatalbonydatalgebgeenfopical.4)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中