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

2.1mysql物理文件组成

2.1.1日志文件:

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

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

171707_0bOX_1047106

2,二进制日志:

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

171730_eWbz_1047106

–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]来打开该功能  配置文件:

171759_SUf0_1047106

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

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

171821_SfJm_1047106

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

 

171906_3AgB_1047106

171906_6WK2_1047106

-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逻辑模块组成

        171942_dfLn_1047106

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

172013_e6da_1047106

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

172022_zrem_1047106

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

2 Comments

Trackbacks & Pingbacks

  1. Ray Ban Outlet 十月 6, 2015 (2:49 下午)

    Ray Ban Outlet

    Saved as a favorite, І like your web site!

  2. www.ca788.com 十二月 8, 2015 (3:09 下午)

    思考是一件最辛苦的工作,这可能是为什么很少人愿意思考的原因。

Leave a Comment

 
Copyright © 2008-2021 lanxinbase.com Rights Reserved. | 粤ICP备14086738号-3 |