MySQL架构和结构分析
官方架构图
![MySQL官方结构.png wKioL1NLJNiRnPzbAAn45ZsJsuY067.jpg]()
内部组件结构图
![MySQL内部组件.png wKiom1NLJSDxkZwaAALzdV2IEfA203.jpg]()
MySQL安装方式
![MySQL安装方式.png wKioL1NLJRjSdsIXAAfglSdvzi8965.jpg]()
MySQL初始化
![MySQL初始化.png wKiom1NLJV2zwKazAAsmeOpZnBI736.jpg]()
MySQL工作模式及常用命令
交互式模式:mysql>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
mysql> help
mysql> \?
mysql> \c
mysql> \g
mysql> \G
mysql> \q
mysql> \!
mysql> \s
mysql> \.
/path/to/mysql_script
.sql
mysql> \u
mysql> help contents 能够获取帮助的分类信息
mysql> help keyword 获取关键字的帮助信息,如help
select
|
脚本模式:mysql < /path/to/mysql_script.sql
注:常用于主从复制批量导入数据时
连接MySQL
连接类型
本地通信:客户端与服务器端位于同一主机,而且还要基于127.0.0.1(localhost)地址或lo接口进行通信
基于sock文件通信:如mysql -hlocalhost -uroot -p --socket=/tmp/mysql.sock
远程通信:客户端与服务器端位于不同的主机,或在同一主机使用非回环地址通信
基于 TCP socket通信
mysql客户端选项
实例
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-u,--user
-h,--host
-p,--password
--protocol={tcp|socket|memory|pipe}
-P,--port
--socket
--compress
-D,--database
-H,--html
-X,--xml
--safe-updates
|
mysql命令提示符
mysql的快捷键
|
1
2
3
4
5
|
ctrl+w:
ctrl+u:
ctrl+y:
ctrl+a:
ctrl+e:
|
MySQL管理工具mysqladmin
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
create DB_Name:
drop DB_Name:
debug:
status:
--
sleep
--count
extended-status:
variables:
flush-hosts:
flush-logs:
refresh:
flush-privileges:
reload:
flush-status:
flush-tables:
flush-threads:
kill
:
password:
ping
:
processlist:
shutdown
:
start-slave,stop-slave:
|
MySQL数据文件解析
MyISAM表:每表有3个文件,都位于数据库目录中
|
1
2
3
|
tb_name.frm:
tb_name.MYD:
tb_name.MYI:
|
InnoDB表:有2种存储方式
默认方式:每表有1个独立文件和一个多表共享的文件
自定义方式:独立的表空间
|
1
2
3
4
5
6
|
tb_name.frm:
tb_name.ibd:
vi
/etc/my
.cnf (在[mysqld]段下添加)
innodb_file_per_table = ON
|
本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1395061,如需转载请自行联系原作者