当前位置:Gxlcms > 数据库问题 > 《mysql性能调优与架构设计》笔记: 一mysql 架构组成

《mysql性能调优与架构设计》笔记: 一mysql 架构组成

时间:2021-07-01 10:21:17 帮助过:2人阅读

2.1.1日志文件:

        1,查看mysql配置文件:mysql --verbose --help | grep -A 1 ‘Default options‘;

        1,错误日志:--log-error[=file_name] 指定错误日志位置

                技术分享

        2,二进制日志:

                --log-bin[=file_name] 如果未指定file_name默认在数据目录下mysql-bin.****

                技术分享

                --max_binlog_size:设置 binlog 的最大存储上限,当日志达到该上限时,MySQL 会 重新创建一个日志开始继续记录。不过偶尔也有超出该设置的 binlog 产生,一般都是因为 在即将达到上限时,产生了一个较大的事务,为了保证事务安全,MySQL 不会将同一个事务分开记录到两个 binlog 中。

                --binlog-do-db=db_name:参数明确告诉 MySQL,需要对某个(db_name)数据库记 录 binlog,如果有了 “--binlog-do-db=db_name”参数的显式指定, MySQL 会忽略针对其他 数据库执行的 query,而仅仅记录针对指定数据库执行的 query

                --binlog-ignore-db=db_name:与“--binlog-do-db=db_name”完全相反,它显式指 定忽略某个(db_name)数据库的 binlog 记录,当指定了这个参数之后,MySQL 会记录指定 数据库以外所有的数据库的 binlog。

                注意:上面两个参数只的是user dbname,而不是查询时候的sql语句

        3,查询日志:query log  --log[=file_name]来打开该功能  配置文件:

                技术分享

                会记录所有query,所以体积很大,特殊要求时候开启

        4,慢查询日志:--log-slow-queries[=file_name]

                技术分享

        5,慢查询日志分析工具:mysqlslowdump

               

            技术分享

            技术分享

-s t 按总query time排序 -s at 按平均query time排序
-s l 按总locktime排序 -s al 按平均lock time排序
-s s 按总row send排序 -s as 按平均row send排序
-s c 按count排序 -- --

    2.1.2数据文件

        1,.frm文件:与表相关的元数据信息都存放在此文件中,包括表结构的定义信息等。每种存储引擎都有此文件

        2,.MYD:文件是 MyISAM 存储引擎专用,存放 MyISAM 表的数据。每一个 MyISAM 表都会 有一个 “.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和 “.frm”文件在一起 

        3,.MYI:文件也是专属于 MyISAM 存储引擎的,主要存放 MyISAM 表的索引相关信息。 对 于 MyISAM 存储来说,可以被 cache 的内容主要就是来于“.MYI”文件中。每一个 MyISAM 表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。

    2.1.3Replication相关文件:

        1,master.info文件

        2,relay log 和 relay log index

        3,relay-log.info文件

    2.1.4其它文件:

        1,system config file /etc/my.cnf

        2,pid file 3,socket file

2.2Mysql server 系统架构:

    2.2.1逻辑模块组成

        技术分享

2.3 MySQL自带工具使用

    1,mysql 

            1,mysql --help

            //恢复用这个语句就好了。

            2, mysql -uroot -p watch07 < D:/mysql.bak.20140724 --default-character-set=utf8

    2,mysqladmin

            1,mysqladmin -u sky -ppwd -h localhost ping

            2,mysqladmin -u sky -ppwd -h localhost status

            技术分享

            3,查看服务器当前链接线程信息:

            技术分享

    3,mysqldump:

            mysqldump [OPTIONS] database [tables]

            mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3]...

            mysqldump [OPTIONS] --all-databases [OPTIONS]

            

            1》myisam 引擎,可以直接拷贝数据表。

            2》mysqldump:数据导出为SQL语句

            3》select * from table1 into outfile ‘/tmp/table1.txt‘;

            4》恢复:load data infile ‘/tmp/table1.txt‘ into table table1;

    4,mysqlimport

                mysqlimport [OPTIONS] database textfile ...

                mysqlimport 程序是一个将以特定格式存放的文本数据(如通过“select * into  OUTFILE from ...”所生成的数据文件)导入到指定的 MySQL Server 中的工具程序,比如 将一个标准的 csv 文件导入到某指定数据库的指定表中。mysqlimport 工具实际上也只是 “load data infile”命令的一个包装实现。

    5,mysqlbinlog

            mysqlbinlog [OPTIONS] log-files

    6,mysqlcheck:

            mysqlcheck [OPTIONS] database [tables]

            mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...]

            mysqlcheck [OPTIONS] --all-databases

            mysqlcheck 工具程序可以检查(check),修复( repair),分析( analyze)和优化 (optimize)MySQL Server 中的表,但并不是所有的存储引擎都支持这里所有的四个功能, 像 Innodb 就不支持修复功能。实际上, mysqlcheck 程序的这四个功能都可以通过 mysql 连 接登录到 MySQL Server 之后来执行相应命令完成完全相同的任务。

    7,myisamchk:myisamchk [OPTIONS] tables[.MYI]

    8,myisampack

    9,mysqlhotcopy


《mysql性能调优与架构设计》笔记: 一mysql 架构组成

标签:

人气教程排行